У меня есть два списка выбора и нужно изменить значение одного на основе их текущего состояния, поэтому:
Выберите список 1:
Option A (All)
Option B (12)
Option C (13)
Выберите список 2:
Option 1 (All)
Option 2 (14)
Option 3 (15)
Option 4 (16)
Если выбрать список 1 = Вариант C && выбрать список 2 = Вариант 2, то измените список выбора 1 на вариант A.
У меня есть следующий код:
$('#edit-lines, #edit-trading-options').change(function () {
if ($('#edit-lines').val().indexOf(13) && $('#edit-trading-options').val().indexOf(14) > -1) $('#edit-trading-options').val('All');
});
Но что-то не так. Второй выбор остается в "Все" все время.
Благодаря,
Стив
Если только эти два конкретных варианта, сделайте следующее:
$('#edit-lines, #edit-trading-options').change(function () {
if ($('#edit-lines').val() == 13 && $('#edit-trading-options').val() == 14)
$('#edit-trading-options').val('All');
});
Я предполагаю, что #edit-lines
- первый выбор, так почему вы меняете значение второго?
Кроме того, первое условие в выражении if
неверно. Он всегда будет возвращать TRUE, поскольку вы сравниваете строки с числами (номер 13
передается как аргумент indexOf
).
Вам не нужно использовать .indexOf()
. Просто сравните значения.
Вот пример:
$('#edit-lines, #edit-trading-options').change(function () {
if ($('#edit-lines').val() == 13 && $('#edit-trading-options').val() == 14)
$('#edit-lines').val('All');
});