2016-12-06 9 views
0

У меня есть мультиселектор в html, как показано ниже. Я пытаюсь отключить все параметры, когда Все типы выбрано и отключено Все типы, если выбраны любые другие (один или несколько) вариантов. Когда страница загружается, по умолчанию выбран вариант . Все типы, пользователь может изменить его позже. HTML выглядит следующим образом:Отключить опцию при выборе другой опции в мультиселекторе

<select multiple="multiple" class="multiselect"> 
    <option value="default" selected="selected">All Types</option> 
    <option value="Mobile">Mobile</option> 
    <option value="Laptop">Laptop</option> 
    <option value="Desktop">Desktop</option> 
</select>  

И Jquery как:

$(".multiselect").multiselect({ 
    buttonWidth: '150px', 
    onChange:function(){ 
    /*some code needed here*/ 
    } 
}); 

При выборе 'Все типы' результат должен быть [ 'Мобильный', 'Ноутбуки', 'Рабочий стол'] или ['default'] и если выбрана любая другая опция (одна или несколько), то это значение в массиве. Я столкнулся с некоторыми проблемами с отключением опций в пользовательском интерфейсе. Ждем решения для решения этой проблемы. Заранее спасибо :)

ответ

0

Это условие «если значение„по умолчанию“выбрано»:

if($(this).val() == "default") 

после этого, вам просто нужно отключить или включить опции, которые вы можете сделать с помощью обычной JQuery.

$("option[value='Mobile']").prop("disabled", true); 
0

Попробуйте использовать следующее событие изменения

$('select').on('change',function(){ 
$(this).find('option').prop("disabled", false);//enable all 
if($(this).find('option:selected').is('option[value="default"]')) {} 
    $(this).find('option:not(":selected")').prop("disabled", true); 
}) 
+0

Я попробовал это, и это выдает ошибку - «ReferenceError: опция не определена» –

+0

вы исправить ошибку, она работает? – madalinivascu

+0

Это может работать для обычного выбора. Вопрос заключается в Jquery multiselect –

Смежные вопросы