我有一个页面,显示页面上的3个下拉选择器。我还有一个jQuery代码,用于检查以确保如果选择了一个选项,则不允许在另外两个下拉列表中选择同一个选项。与jquery动态下拉
我需要更改代码不仅仅是允许选择一个副本,而是从这个下面的其他下拉列表中完全删除选定的选项。我假设我将不得不将所有选项放入数组中,并在生成下一个下拉列表时从列表中删除。
或者我需要用不同的颜色标记已经选定的颜色,也许还有一个类。
这里是我当前的代码:
$('.mySelect').change(function(index, elem){
var myFilter = $(this).val();
if(myFilter !="selectOne"){
var size = $('.qSelect').not(this).not(function(index){
return $(this).val() != myFilter;
}).size();
if(size > 0){
alert("already selected.");
} else {
// do something
}
}
});
<select name="select1" class="mySelect">
<option value="selectOne">Select one</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<select name="select2" class="mySelect">
<option value="selectOne">Select one</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
<select name="select3" class="mySelect">
<option value="selectOne">Select one</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</select>
你是对的 - 删除选项会令人困惑。你的解决方案接近我的想法 - 改变颜色,除非它更好,因为它禁用了选项。非常好。此外,任何提供jsfiddle链接的人都会从我那里获得+1,只是为了加倍努力!谢谢一堆。 – santa 2011-02-16 15:52:42