我有 3 个下拉列表:第一个是从服务器填充的,第二个是根据第一个的更改通过 ajax 填充的,第三个也是根据第二个的更改通过 ajax 填充的。
这是第二个或第三个下拉 ajax 的代码:
$("select[name='myId']").change(function() {
$.ajax({
type: "POST",
url: "ajax/getList",
data: "id="+$("select[name='myId']").val(),
dataType: 'json',
success: function(data){
$("select[name='nextId']").empty();
$.each(data, function() { //Filling each option
if(this.isSelected == 1) $("select[name='nextId']").append($("<option />").val(this.id).text(this.name).attr("selected","selected"));
else $("select[name='nextId']").append($("<option />").val(this.id).text(this.name));
});
}
});
});
$("select[name='myId']").change();
如您所见,我传递了一个“isSelected”参数,该参数预先选择了用户在之前提交的表单中选择的值。问题是,当预填充下拉列表时,它不会触发更改事件,因此下一个下拉列表根本不会通过 ajax 填充。
如果先前的下拉列表值发生更改(如当前所做的那样),但如果先前的下拉列表不为空并且选择了一个值,并且当前要填充的下拉列表为空,我如何触发我的 ajax?
谢谢!