我有一个javascript代码,一旦我从第一个下拉列表中选择就会触发:
$(document).ready(function(){
$("#first-choice").change(function() {
$("#second-choice").load("getter.php?choice=" + $("select#first-choice").filter(":selected").val());
});
});
我认为问题在于我创建了getter.php扩展名...我在我的sql中使用了哪个选项。选择在getter.php中定义为:
$choice = $_GET['choice'];
$sth = $db->prepare("SELECT name, code FROM sets WHERE name='$choice'");
$sth->execute();
$choicecode = $sth->fetchColumn(1);
当javascript更改时,我会得到一个空的下拉列表。所以我通过将Choice设置为等于一个首选项而不是$ _GET进行测试,并且第二个列表正确填充。所以我假设我的错误来自我的js,通过定义所选择的第一选择。
答案 0 :(得分:1)
在更改功能
中尝试这个$("#first-choice").change(function() {
$("#second-choice").load("getter.php?choice=" + $(this).val();
});
或
$("#first-choice").change(function() {
$("#second-choice").load("getter.php?choice=" + $("#first-choice option:selected").val();
});
或使用find
$("#first-choice").change(function() {
$("#second-choice").load("getter.php?choice=" + $("#first-choice").find(":selected").val();
});
确保您已在选项的值属性中输入值
<option value="test">test</option>