两个选择框 - 按选择加载

时间:2012-10-06 14:34:41

标签: javascript jquery html select

我想,如果我在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>';  
}

?>

我不知道我的错误在哪里 - 你能帮助我吗?

1 个答案:

答案 0 :(得分:2)

您应该尝试使用:selected选择器,而不是.selected,它将匹配具有所选名称的类。

此外,我认为.load()方法通过HTTP GET发布数据,因此我认为您必须使用$_GET["value"]而不是$_POST['value']

<强>校正:

当您将数据作为对象提供时,它是通过HTTP POST发布的,因此请点击我的上述语句。来自jQuery文档:

  

如果数据作为对象提供,则使用POST方法;否则,假设GET。