Javascript 如何从下拉列表中选择最后一个值并使用jquery禁用它
我有两个下拉列表,我想禁用从下拉列表中选择的最后一个值,并在其他下拉列表中启用上一个值 假设我有两个下拉列表,如下所示:Javascript 如何从下拉列表中选择最后一个值并使用jquery禁用它,javascript,jquery,Javascript,Jquery,我有两个下拉列表,我想禁用从下拉列表中选择的最后一个值,并在其他下拉列表中启用上一个值 假设我有两个下拉列表,如下所示: <select name="g1" id="box_g1"> <option value="Select">Select</option> <option value="one">one</option> <option value="two">two</option>
<select name="g1" id="box_g1">
<option value="Select">Select</option>
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
</select>
<select name="g2" id="box_g2">
<option value="Select">Select</option>
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
</select>
如果我选择选项:“一”来自框1,然后再次选择“二”来自框1,即来自同一框。然后在下一个下拉列表中只应禁用最后一个值“2”。检查以下小提琴:
非常感谢您的帮助。您可以存储从第一个框中选择的最后一项的值,然后遍历第二个框,并将值与存储的值进行比较,禁用所有匹配项 可以尝试下面的方法
<script type="text/javascript">
var g1 = [],
g2 = [];
$('#box_g1 option').each(function(){g1.push($(this).val());});
$('#box_g2 option').each(function(){g2.push($(this).val());});
$('#box_g1').on('change', function(){
var options = '',
selected = $('#box_g1').val();
for(var i = 0; i < g2.length; i++){
if(selected != g1[i] && selected != 'Select'){
options += ('<option value="'+g2[i]+'">'+g2[i]+'</option>');
}
}
$('#box_g2').empty().html(options);
});
</script>
这有点不清楚,但像这样->请检查这把小提琴太。。实际上,我想把它写在这段代码中。@adeneo另外,你提供的提琴是无效的。你能建议我使用这把提琴吗。你能给我推荐一下这把小提琴吗。到时候,我将检查您提供的脚本。我想禁用该值。但是您的查询会从下拉列表中删除这些值。但是您已经给出了一些想法。