Если опция выбрана в одном множественном выборе, отключите его в другом раскрывающемся списке

Что не так с этим кодом? У меня есть множественный выбор (VendorIDs) и выбор (vendorDropDown). Я хочу, чтобы все выбранные элементы в VendorIDs были отключены в vendorDropDown. Это не работает:

            $('#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 ответ

Решение

Это выглядит как var v = $(selected).val(); выполняется слишком долго, чтобы следующая строка была вовремя. Попробуй это:

 $('#Vendor_IDs :selected').each(function (i, selected) {
     $("#vendorDropDown option[value='" + $(selected).val() + "']").attr("disabled", true);
 });

Таким образом, вторая строка не зависит от первой строки, выполнение которой заняло слишком много времени. Дайте мне знать, если это работает.

2-я попытка!-

 $('#Vendor_IDs :selected').each(function() {
     $("#vendorDropDown option[value='" + $(this).val() + "']").attr("disabled", true);
 });
Другие вопросы по тегам