当我在这样的选择中选择另一个选项时,我会触发一些jquery:
$(document).ready(function() {
$("[name=msgType]").change(function(){
if ($("#text").is(':selected')) { // TYPE TEXT
$("#msgBody").removeAttr('disabled');
$("#msgTitle").attr("disabled", "disabled");
$("#msgText").attr("disabled", "disabled");
$("#msgUrl").attr("disabled", "disabled");
$("#msgPicUrl").attr("disabled", "disabled");
$("#msgVideoUrl").attr("disabled", "disabled");
} else if ($("#link").is(':selected')) { // TYPE LINK
$("#msgBody").attr("disabled", "disabled");
$("#msgTitle").removeAttr('disabled');
$("#msgText").removeAttr('disabled');
$("#msgUrl").removeAttr('disabled');
$("#msgPicUrl").removeAttr('disabled');
$("#msgVideoUrl").attr("disabled", "disabled");
}
});
});
这很好用。但是,当我最初加载页面时,我在select中设置了选项,但这显然不会导致“更改”功能发生,因此在我手动更改下拉列表之前,相应的禁用字段不会被禁用。
如何在最初加载页面时为相应的选择选项设置所有已禁用的字段,以及何时再次更改下拉列表?
答案 0 :(得分:1)
$("[name=msgType]").change(function(){
if ($("#text").is(':selected')) { // TYPE TEXT
$("#msgBody").removeAttr('disabled');
$("#msgTitle").attr("disabled", "disabled");
$("#msgText").attr("disabled", "disabled");
$("#msgUrl").attr("disabled", "disabled");
$("#msgPicUrl").attr("disabled", "disabled");
$("#msgVideoUrl").attr("disabled", "disabled");
} else if ($("#link").is(':selected')) { // TYPE LINK
$("#msgBody").attr("disabled", "disabled");
$("#msgTitle").removeAttr('disabled');
$("#msgText").removeAttr('disabled');
$("#msgUrl").removeAttr('disabled');
$("#msgPicUrl").removeAttr('disabled');
$("#msgVideoUrl").attr("disabled", "disabled");
}
}).change();//call change event manually on load
要在加载时调用更改事件,您必须手动调用.change()