Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 5个选择框,隐藏每个选定项目的值_Javascript_Jquery_Html - Fatal编程技术网

Javascript 5个选择框,隐藏每个选定项目的值

Javascript 5个选择框,隐藏每个选定项目的值,javascript,jquery,html,Javascript,Jquery,Html,我有选择框,我想从已选择的选项中隐藏(删除)项目: <select name="gets" class="gets"> <option value="0">SELECT</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option valu

我有选择框,我想从已选择的选项中隐藏(删除)项目:

<select name="gets" class="gets">
<option value="0">SELECT</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>

<select name="gets" class="gets">
<option value="0">SELECT</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>

<select name="gets" class="gets">
<option value="0">SELECT</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>

<select name="gets" class="gets">
<option value="0">SELECT</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>

挑选
1.
2.
3.
4.
5.
挑选
1.
2.
3.
4.
5.
挑选
1.
2.
3.
4.
5.
挑选
1.
2.
3.
4.
5.
因此,如果我从第一个选择框中选择了选项1,它应该从其余框中消失,如果我在选择框4中选择了选项3,它应该从其余框中消失

提前感谢

如下图所示:

$('.gets').change(function(){
    var value = $(this).val();
    $('.gets').not(this).find('option[value="'+value+'"]').hide();
})

如果要排除
选项,请选择
选项,如下图所示

$('.gets').change(function(){
    var value = $(this).val();
    if(value!=0)
        $('.gets').not(this).find('option[value="'+value+'"]').hide();
})
您可以尝试以下方法:

$("select").on("change", function(){
    var selectVal = $(this).val();
    $("select").not($(this)).find("option[value="+ selectVal +"]").remove();   
});

您需要在其他选择中找到具有相同值的所有选项并将其隐藏。 我会用这样的方式:

var selects = $('select');
selects.bind('change', function(e) {
    var val = this.value;
    //show all options
    selects.find('option').show();
    selects.each(function() {
        if(!this.value) return;
        //hide the selected value in the other selects
        selects.find('option[value="' + this.value + '"]')
                .filter(':not(:checked)')
                .filter(':not([value="0"])')
                .hide();
    });    

});

我可以再添加一个选项吗?我可以添加一个按钮来重新初始化5个选择框吗?这样我可以重试吗?@AbuRayane使用
append
添加一个选项,并添加此代码以再次显示所有选项
$('.get')。查找('option')。显示()谢谢nxt,非常复杂,但是很好one@AbuRayane它比其他示例稍微复杂一点,但这是因为它处理用户更改其先前选择的情况。例如,如果在前三个选项中选择1、2和3,则第四个选项仅显示4和5。然后将第一个选择的值从1更改为4时,第四个选择将更新为显示1和5。这里的其他示例只处理选项的删除。哦,是的,没错,我没有注意到,谢谢broI,我注意到如果我重置,选择框不会重置为选择设置属性应该有效,但我建议只将值设置为0(您要显示的选项的值)$('.get').val('0');