【发布时间】:2014-10-01 13:17:19
【问题描述】:
我有 3 个下拉菜单,其中包含超过 4 个问题作为每个下拉菜单中的选项。我想要实现的是,当用户从任何下拉列表中选择一个选项时,该特定选项/问题必须从其他 2 个下拉列表中隐藏,并且当他更改他的选择时,该选项/问题必须再次显示在其他 2 个下拉列表中。 他可以从任何下拉列表中选择问题。这是我到目前为止所尝试的。这段特定的代码将隐藏 select 上的选项,但我不知道如何准确地显示它。
Javascript
var removeSelection = function (select) {
$('select').filter(':not(#' + select.attr('id') + ')').each(function () {
var index = select.find(':selected').index();
$(this).find('option:eq(' + index + ')').hide();
});
};
$(function () {
$('select').change(function () {
removeSelection($(this));
});
});
HTML
<form id="form1">
<select id="select1">
<option id="selectOpt1">Question 1</option>
<option id="selectOpt2">Question 2</option>
<option id="selectOpt3">Question 3</option>
<option id="selectOpt4">Question 4</option>
</select>
<select id="select2">
<option id="selectOpt1">Question 1</option>
<option id="selectOpt2">Question 2</option>
<option id="selectOpt3">Question 3</option>
<option id="selectOpt4">Question 4</option>
</select>
<select id="select3">
<option id="selectOpt1">Question 1</option>
<option id="selectOpt2">Question 2</option>
<option id="selectOpt3">Question 3</option>
<option id="selectOpt4">Question 4</option>
</select>
</form>
JSFIDDLE- CLick Here
更新小提琴 Updated
场景 1 - 从任何下拉列表中选择一个选项。应该从其他下拉列表中禁用它。 场景 2 - 从同一个下拉列表中更改选项。应在其他下拉菜单中启用上一个选项。
【问题讨论】:
-
你可以用来禁用它们而不是隐藏
-
@Kaushik 您无法隐藏选择 > 选项。你只能禁用它。
-
id应该是唯一的。请改用class。 -
@ShahRukh.. 他们中的任何一个都可以.. 我没有禁用问题。 I am stuck up with enabling the same when option has been changed from parent dropdown.
-
我可以在您演示的所有 3 个下拉菜单中选择相同的选项。你检查它是否工作?
标签: javascript jquery html drop-down-menu