Javascript 忽略多个选择框jquery中的第一个选项
我有多个具有相同选项的选择框,这些选项是互斥的。例如,如果选择框A和选择框B具有选项1、选项2和选项3,则如果我为选择框A选择选项1,则选择框B上不应存在该选项 我的示范Javascript 忽略多个选择框jquery中的第一个选项,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,我有多个具有相同选项的选择框,这些选项是互斥的。例如,如果选择框A和选择框B具有选项1、选项2和选项3,则如果我为选择框A选择选项1,则选择框B上不应存在该选项 我的示范 <select name="select" class="alert_type"> <option selected disabled>Select below</option> <option value="1">option1</opti
<select name="select" class="alert_type">
<option selected disabled>Select below</option>
<option value="1">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
<option value="4">option4</option>
</select>
<select name="select" class="alert_type">
<option selected disabled>Select below</option>
<option value="1">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
<option value="4">option4</option>
</select>
<select name="select" class="alert_type">
<option selected disabled>Select below</option>
<option value="1">option1</option>
<option value="2">option2</option>
<option value="3">option3</option>
<option value="4">option4</option>
</select>
$('.alert_type').change(function() {
var selected_value=$(this).val();
$(".alert_type option[value='" + selected_value + "']").not(this.selectedOptions[0]).hide();
});
首先要表明,它不再是相互排斥的(见图)
好的。让我看看这次我能不能帮到你:
$('.alert_type').change(function(){
所选变量_值=[],
迭代;
$(“.alert_type option”).show();
$(“.alert_type”)。每个(函数(){
迭代=$(this.find('option:selected').val();
如果(迭代!==“”){
选择的_值。推送(迭代);
}
})
对于(变量i=0;i
在下面选择
选择1
选择2
选择3
选择4
在下面选择
选择1
选择2
选择3
选择4
在下面选择
选择1
选择2
选择3
选择4
这就是您需要的:
$('select.alert_type')。打开('change keyup',function()){
var val=$(this.val();
$('select.alert_type option').prop('disabled',false);
$(this).sides().find('option[value='+val+']')).prop('disabled',true);
});代码>
在下面选择
选择1
选择2
选择3
选择4
在下面选择
选择1
选择2
选择3
选择4
在下面选择
选择1
选择2
选择3
选择4
是否应将选项
设置为显示:无
?是的,如果我添加$(“.alert_type option”).show(),它们将被隐藏但不会被删除;那么这个选项就不再是相互排斥的了。。。我一开始也这么想你说的互斥是什么意思?这是如何转化为前端的?不,它不会有帮助。我必须能够选择“下面的选择”,这样我就可以编辑我的选择,然后从html中删除你的禁用属性,我在我的答案中删除了它,工作正常
$(".alert_type option").show();