0

我希望,如果我在选择框 1 中选择一个值,该选择框 2 会加载依赖于选择框 1 的值。

这是我尝试的方法:

<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 回答