我需要一些帮助。
我的jsp中有这段代码,用于捕获与Jquery更改的事件。
jQ("#idExp").change(function() {
onchangeExp();
});
function onchangeExp(){
alert("onchangeExp");
if(jQ("#idExp").val()!="-1"){
recuperarDatosAF();
}else{
jQ("#comboAF").attr('disabled',true);
jQ("#comboAF").val("-1");
}
}
我用这个填充组合:
jQ("#idExp").html("");
jQ("#idExp").append("<option value='-1'>"+""+"</option>");
jQ.each(expedientes, function(i,value){
jQ("#idExp").append("<option value='"+i+"'>"+value.codExpediente+" </option>");
});
i 的值为 [0,1,2..]
问题是,当我从值为"-1"的组合中选择空白选项时,不要启动 onchange 函数运行,而是当我从组合中选择任何其他选项时,onchange 函数正在运行。
你不能把组合选项的负值放吗?
感谢您的帮助。
选择框的默认值是第一个选项的值,因此选择框的值不会更改,也不会触发更改事件。
尝试像这样添加一个真正的整数作为值
jQ(function() {
var j = jQ('#idExp');
j.append(jQ('<option/>').attr('value', -1));
j.change(function() {
if(j.val() == -1) {
jQ("#comboAF")
.attr('disabled',true)
.val("-1");
}
else {
recuperarDatosAF();
}
}).trigger('change');
});
您可以在追加选项时触发更改事件:
jQ("#idExp").append("<option value='-1'>"+""+"</option>").change();