我有多个选项,在0到10之间具有相同的数字。值1到10必须是唯一的,所以当用户选择已经在另一个选择上选择的选项时,我希望另一个切换到0值触发在db。中调用更新的change事件。
我已经尝试了一些像
这样的方法$("select option[value="+pos+"]").not("#"+id+" option").val(0).change();
其中pos是值,id是用户刚刚更改的select的id(因此必须保持此值)。 但是现在所有这些尝试似乎都不起作用。
谢谢!
答案 0 :(得分:1)
检查出来:http://jsfiddle.net/8gY5p/5/
<select>
<option value="0">option 0</option>
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
</select>
<select>
<option value="0">option 0</option>
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
</select>
<select>
<option value="0">option 0</option>
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
</select>
$('select').change(function(){
var value = $(this).find(":selected").val();
if(value!=0)
$('select').not(this)
.has("[value=" + value + "]:selected").val(0).change();
});
答案 1 :(得分:0)
您需要将值设置为select
元素,而不是选项
$("select").not("#"+id).has('[value=" + pos + "]:selected').val(0).change();
答案 2 :(得分:0)
由于Arun P Johny的定位,我终于找到了我需要的东西:)
这是代码
$("select:has(option[value="+pos+"]:selected)").not("#"+id).val(0).change();