我有三个选择框。当我选择第一个选择框时,它会使用jQuery和AJAX(数据库中的值)自动加载第二个和第三个选择框的选项。
但是当我更改第二个选择框的选项时,它应该根据第二个选择框选项列出第三个选择框值。但是现在我得到第一个选项的第三个选择框选项。
$(document).ready(function()
{
$("#cat").change(function()
{
var pc_id = $(this).val();
if(pc_id != '')
{
$.ajax
({
type: "POST",
url: "load_sub_cats.php",
data: "catid="+ pc_id,
success: function(option)
{
$("#subcat").html(option);
}
});
}
else
{
$("#subcat").html("<option value=''>-- No category selected --</option>");
}
if(pc_id != '')
{
$.ajax
({
type: "POST",
url: "load_qset.php",
data: "catid="+ pc_id,
success: function(option)
{
$("#questionset").html(option);
}
});
}
else
{
$("#questionset").html("<option value=''>-- No question set selected--</option>");
}
return false;
});
$("#subcat").change(function()
{
var pc_id = $(this).val();
//$("#questionset").html("<option value=''>-- Select Question set --</option>");
$("#questionset").empty();
if(pc_id != '')
{
$.ajax
({
type: "POST",
url: "load_subcat_qset.php",
data: "subcatid="+ pc_id,
success: function(option)
{
$("#questionset").html(option);
}
});
}
else
{
$("#questionset").html("<option value=''>-- No question set selected --</option>");
}
return false;
});
});`
我用empty()来清空选择框。但它没有重置价值。
答案 0 :(得分:1)
而不是empty(),尝试这样的事情:
$('#questionset')
.find('option')
.remove()
.end()
.append('<option value="whatever">text</option>')
.val('whatever')
;
有关详细信息,请参阅this post