我有两个选择列表,需要根据当前状态更改一个值:
选择列表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');
});
但有些事情是不对的。第二个选择始终保持在“全部”。
谢谢,
史蒂夫
答案 0 :(得分:2)
如果只是那两个特定选项,那么就这样做:
$('#edit-lines, #edit-trading-options').change(function () {
if ($('#edit-lines').val() == 13 && $('#edit-trading-options').val() == 14)
$('#edit-trading-options').val('All');
});
答案 1 :(得分:0)
我认为#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');
});