假设我有4个选择标签使用相同的选项。我想从选项中删除所选的选项。目前我尝试了这段代码:
function connect(val)
{
$(".option").show();
$(".selectbox").each(function(i) {
var obj = $("option[value='" + $(this).val() + "']");
alert(obj);
if($(this).val() != "") obj.remove();
});
}
我对选择标签有这个:
for()
{
<select id = "sc" name = "connect_array[]" class="input-select" onchange = "connect(this.value)">
for()
{
<option></option>
}
</select>
}
但实际发生的是它只删除了第一个选择的选项,而第一个选择最终没有选择,当所有选择由其他选择标签选择时,您仍然可以看到其他选择中的完整选项标签
谢谢。答案 0 :(得分:1)
试试这个,你所有的选择都需要有class =“selectbox”
$(".selectbox").change(function(){
var selectedIndex = $(this).index();
var myVal = $(this).val();
$(".selectbox").each(function(i){
if (selectedIndex != i){
$("option", this).each(function(){
if (myVal == $(this).val()) $(this).remove();
});
}
});
});
答案 1 :(得分:0)
$('.selectbox').change(function(){
var selected_val = $(this+"option:selected").val();
$(".selectbox").each(function(i) {
$(this+'option[value="'+selected_val+'"]').remove();
});
}