如果在数组中的其他选择中选择,则选择选项隐藏

Posted

技术标签:

【中文标题】如果在数组中的其他选择中选择,则选择选项隐藏【英文标题】:Select option Hidden if selected in other select in array 【发布时间】:2018-03-20 05:11:26 【问题描述】:

例如

如果id="select[1]" 选择value=1

id 2-5 无法选择value=1

<?php for($i= 0;$i<5;$i++) ?>
    <select id="select[]" name="select[]">
        <option hidden selected>Please Select</option>
        <option value="1">Test 1</option>
        <option value="2">Test 2</option>
        <option value="3">Test 3</option>
    </select>
<?php  ?>

【问题讨论】:

您能否更清楚地描述您的问题。 相同 ***.com/questions/4610652/… 但在数组中 问题不清楚。请详细说明您的问题以及您想要实现的目标 【参考方案1】:

为了避免必须维护每个选择的状态或类似的东西,我的方法是在您更改选择时重新读取并禁用相应的选项

$('select').change(function() 

    // First we enable all options.
    $('select option:not(:first)').prop('disabled',false);

    // Then we take each selected value and disable that option in all selects.
    $('select').filter(function()  return $(this).val() != 'Please Select' ).each(function() 
        $('select').not(this).find('option[value='+this.value+']').prop('disabled',true);
    );

);

这里你有一个工作小提琴...https://fiddle.jshell.net/rigobauer/26ce42od/

一条建议,我认为您不能将数组与id 一起使用,并且可能会给您带来问题。你最好为每个选择设置一个唯一的 id,这在你的情况下很容易......

<?php for ($i= 0; $i<5; $i++)  ?>
    <select id="select<?=$i?>" name="select[]">
        <option hidden selected>Please Select</option>
        <option value="1">Test 1</option>
        <option value="2">Test 2</option>
        <option value="3">Test 3</option>
    </select>
<?php  ?>

希望对你有帮助

【讨论】:

对不起,我不明白你的意思。使用此代码,当您在一个选择中选择一个选项时,该选项在其余选择中被禁用...fiddle.jshell.net/rigobauer/26ce42od 这不是您想要的吗? 抱歉,我的英语不太好。 例如,如果在 id="select[1]" 中选择表单 value="1" 并更改 id=" select[1]" 到 value="2" 并再次将 id="select[1]" 更改为 value="3" 接下来我要选择 id="select[2]" 到 value="2" 我不能sclect value="2" 因为 value="2" 禁用 $(this).find('option[value='+selValue+']').prop('disabled',true).siblings().removeAttr('disabled');不工作 我想我现在明白了。您想在每次选择一个元素时重置禁用的值,对吗?我已经编辑了答案。知道你想要什么吗?

以上是关于如果在数组中的其他选择中选择,则选择选项隐藏的主要内容,如果未能解决你的问题,请参考以下文章

当在不同的选择中选择一个选项时,有没有办法显示/隐藏某些选项并在选择中显示/隐藏其他选项?

iOS可以隐藏应用吗

隐藏select2中的选定项目

基于选项卡面板选择在 R Shiny 中显示/隐藏 selectinput

如果选择了选项,则显示隐藏的文本字段

如果单击 DOM 中的任何位置,则隐藏 div