0

selectbox 1 で値を選択すると、selectbox2 には selectbox1 に依存する値が読み込まれます。

これが私が試した方法です:

<head>
<script src="jquery/jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
 $("#selectbox1").change(function(){
 var value = $(this).children('option.selected').val(); 
 $("#selectbox2").load("php/loadteams.php", {value: value} );

});
});

</script>
</head>


<body>

<?php 

include 'php/db.php';
$res = mysql_query("select * from liga", $connection);
echo '<select id="selectbox1">';
while($val = mysql_fetch_array($res)) {
    echo '<option value="'.$val['id'] .'">' . $val['name'] . '</option>';
}
echo '</select>';
mysql_close($connection);
?>



<select id="selectbox2"> </select>

ご覧のとおり、jqueryで試しました。ファイルloadteams.phpは次のようになります。

<?php
include 'php/db.php';
$ligaid = mysql_real_escape_string($_POST['value']);

$result = mysql_query("select * from mannschaft where liga = '" . $ligaid . "'", $connection);

while($te = mysql_fetch_array($result)){
 echo '<option> ' . $te . '</option>';  
}

?>

どこが間違っているのかわからない - 助けてくれる?

4

1 に答える 1

2

選択した名前のクラスに一致する:selected代わりに、セレクターを使用してみてください。.selected

また、.load()メソッドは HTTP GET を介してデータを投稿すると思われるため、$_GET["value"]代わりにを使用する必要があると思います$_POST['value']

修正:

データをオブジェクトとして提供しているため、HTTP POST を介して投稿されるため、上記のステートメントを無効にしてください。jQueryのドキュメントから:

データがオブジェクトとして提供される場合は、POST メソッドが使用されます。それ以外の場合は、GET と見なされます。

于 2012-10-06T14:38:10.033 に答える