我想,如果我在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>';
}
?>
我不知道我的错误在哪里 - 你能帮助我吗?
答案 0 :(得分:2)
您应该尝试使用:selected
选择器,而不是.selected
,它将匹配具有所选名称的类。
此外,我认为 .load()
方法通过HTTP GET发布数据,因此我认为您必须使用$_GET["value"]
而不是$_POST['value']
。
<强>校正:强>
当您将数据作为对象提供时,它是通过HTTP POST发布的,因此请点击我的上述语句。来自jQuery文档:
如果数据作为对象提供,则使用POST方法;否则,假设GET。