Javascript или Jquery Отфильтровать выбранный объект для другого выбора с теми же данными - PullRequest
0 голосов
/ 21 февраля 2012

Я хочу создать форму для выбора победителя с рангом 1, 2, 3. Я хотел бы спросить, как я могу отфильтровать данные, выбранные в другом выборе для остальных двух элементов выбора? если пользователь выбирает rank1: Имя 2, то Имя 2 не должно отображаться в rank2, rank3. если ни один из элементов не выбран, будут отображаться все имена для трех выбора. напр .:

<select id="rank1">
<option value="0">Select One</option>
<option value="1">Name 1</option>
<option value="2" selected>Name 2</option>
<option value="3">Name 3</option>
<option value="4">Name 4</option>
</select>
<select id="rank2">
<option value="0">Select One</option>
<option value="1">Name 1</option>
<option value="3" selected>Name 3</option>
<option value="4">Name 4</option>
</select>
<select id="rank3">
<option value="0">Select One</option>
<option value="1">Name 1</option>
<option value="4">Name 4</option>
</select>

Я пытаюсь найти решение, но не могу его найти. Если бы мог дать намек, чтобы помочь это ценить.

Ответы [ 2 ]

1 голос
/ 21 февраля 2012

Для двух полей выбора вы можете сделать что-то вроде этого:

$('#rank1').change(function () {
     if ($('#rank2').val() == $(this).val()) $('#rank2').val('0');

     // Restore all hidden options for second select box
     $('#rank2 option').show(); 

     // Hide option selected in the first select box
     $('#rank2 option[value=' + $(this).val() + ']').hide();
});

Вы сможете легко адаптировать его для дополнительного.

0 голосов
/ 21 февраля 2012

Все зависит от структуры вашего кода.

Но вы можете проверить .remove () или .hide ()

Можете ли вы показать нам, какую структуру вы используете?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...