我需要一些jQuery的帮助。我有一个从函数中检索的droplist。该清单包含10个项目。我的布局中有10个下拉列表。每次从10个下拉列表中选择一个选项时,我都希望从所有其他下拉列表中删除该选项。以下代码是我到目前为止所提出的,但它从首先选择一个选项的下拉列表中删除了所选选项。
$("select").change(function () {
$removePlayerID = $(this).attr('value');
$("#Teamone option[value=" + $removePlayerID + "]").remove();
});
jsFiddle:http://jsfiddle.net/pfX7n/
因此,当选择一个选项时,其他下拉列表将不再具有该选项。
提前谢谢。
答案 0 :(得分:0)
$(function(){
$('select').change(function(){
$removePlayerID = $(this).attr('value');
$('select').not( $(this) ).find('option[value=' + $removePlayerID + ']').remove();
});
});
同样在http://jsfiddle.net/justiceerolin/pkgEA/
但更大的问题:您需要确保存在唯一的ID。 TeamTwo和TeamOne是每个select元素的重复ID。 ID应该是唯一的。
答案 1 :(得分:0)
试试这个
var $allSelects = $('select');
$allSelects.change(function(){
$allSelects.not(this).find('option[value='+ $(this).val()+']').remove();
});
还要记住,一旦选项中的选项消失,它们就会消失(除非你做其他一些我的意思)。因此,如果再次更改相同的选择,则其他选择中先前删除的选项将不会再次出现。
答案 2 :(得分:0)
这是一个更新的解决方案:
答案 3 :(得分:0)
这似乎有效:
$('select').change(function() {
var clone = $('option:selected',this);
$('option[value=' + $(this).val() + ']').remove();
$(this).append(clone);
})
<强> jsFiddle example 强>