Jquery - три списка выбора, деактивировать два других, если выбрано одно значение - PullRequest
2 голосов
/ 11 августа 2010

У меня есть три раскрывающихся списка выбора, когда выбрано значение из одного из списков, я хочу, чтобы два других были выделены серым и неактивными. У меня есть упаковщики идентификаторов вокруг каждого списка выбора, над которым я экспериментирую, но, поскольку я новичок в jquery, я не очень далеко ухожу.

Ответы [ 4 ]

4 голосов
/ 11 августа 2010

Примерно так должно работать:

$(function() {
  var $selects = $('#select1, #select2, #select3');
  $selects.change(function() {
    // disabled the other two
    $selects.not(this).attr('disabled', 'disabled');
  });
});

Обновленная версия:

$(function() {
  var $selects = $('#select1, #select2, #select3');
  $selects.change(function() {
    // disable or enable the other two
    $selects.not(this).attr('disabled', $(this).val() === '' ? '' : 'disabled');
  });
});
0 голосов
/ 11 августа 2010

, если у вас есть выборки с оберткой div с идентификатором #wrapper

$('#wrapper select').each(function(i,select){
   $(select).change(function(){
        $(this).attr('class','enabled').siblings().attr('class','disabled');
    })
})
0 голосов
/ 11 августа 2010

Я предполагаю, что у вас есть три, и если какой-либо из трех выбран, два других должны отключиться.

function toggleOthers(x) {
var select = new Array('#wrapper1','#wrapper2','#wrapper3');

for (int i = 0; i < select.length; i++ )
    if ($(x).attr('id')!=select[i])
        $(x).attr('disabled','disable');
}

HTML: <select onchange='toggleOthers(this);' id='wrapper1'> etc...

0 голосов
/ 11 августа 2010

Вы можете сделать что-то вроде этого:

$('#wrappers').change(function(){
  $('#select1').attr('disabled', true);
  $('#select2').attr('disabled', true);
});

Где wrappers - это идентификатор элемента select, из которого при выборе значения отключаются два других, чьи идентификаторы select1 и select2 соответственно, например:

<select id="wrappers">.........
<select id="select1">.........
<select id="select2">.........

Вот рабочий пример

...