这段代码有什么问题?我有一个多选(VendorID)和一个select(vendorDropDown)。我想在vendorDropDown中将VendorID中的所有选定项设置为禁用。这不起作用:
$('#Vendor_IDs :selected').each(function (i, selected) {
var v = $(selected).val();
$("#vendorDropDown option[value='" + v + "']").attr("disabled", true);
});
但是,这样做:
$('#Vendor_IDs :selected').each(function (i, selected) {
var v = $(selected).val();
alert(v);
$("#vendorDropDown option[value='" + v + "']").attr("disabled", true);
});
添加警报如何改变任何内容?
答案 0 :(得分:1)
看起来var v = $(selected).val();
执行下一行准时需要太长时间。试试这个:
$('#Vendor_IDs :selected').each(function (i, selected) {
$("#vendorDropDown option[value='" + $(selected).val() + "']").attr("disabled", true);
});
这样,第二行不依赖于执行时间太长的第一行。如果有效,请告诉我。
-edited,第二次尝试! -
$('#Vendor_IDs :selected').each(function() {
$("#vendorDropDown option[value='" + $(this).val() + "']").attr("disabled", true);
});