如果在数组中的其他选择中选择,则选择选项隐藏
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');不工作 我想我现在明白了。您想在每次选择一个元素时重置禁用的值,对吗?我已经编辑了答案。知道你想要什么吗?以上是关于如果在数组中的其他选择中选择,则选择选项隐藏的主要内容,如果未能解决你的问题,请参考以下文章
当在不同的选择中选择一个选项时,有没有办法显示/隐藏某些选项并在选择中显示/隐藏其他选项?