如果在一个多选中选择了选项,请在另一个下拉列表中将其设置为禁用

时间:2011-03-15 20:45:54

标签: jquery select each multi-select

这段代码有什么问题?我有一个多选(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);
            });

添加警报如何改变任何内容?

1 个答案:

答案 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);
 });