【发布时间】:2016-01-13 11:10:57
【问题描述】:
我有三个具有相同选项的下拉菜单。我想要的是,当我从下拉列表中选择一个选项时,其他两个下拉列表中的相同选项将被禁用,除了第一个(选项“选择一个”)。
为此,我使用以下逻辑,但在这里,当一个下拉列表被选择为一个值而不是从其余两个下拉列表中禁用该选定值时,它会从所有这三个下拉列表中禁用,这是我不想要的。值的禁用应该发生在其余的值上,但不会发生在当前的下拉列表中。
我该怎么做?
<select class="form-control positionTypes">
<option value="">Select One</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>
<option value="6">6</option>
<option value="7">7</option>
</select>
<select class="form-control positionTypes">
<option value="">Select One</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>
<option value="6">6</option>
<option value="7">7</option>
</select>
<select class="form-control positionTypes">
<option value="">Select One</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>
<option value="6">6</option>
<option value="7">7</option>
</select>
$("select.positionTypes").change(function () {
$("select.positionTypes option[value='" + $(this).data('index') + "']").prop('disabled', false);
$(this).data('index', this.value);
$("select.positionTypes option[value='" + this.value + "']:not([value=''])").prop('disabled', true);
});
这里是小提琴链接https://jsfiddle.net/3pfo1d1f/4/
【问题讨论】:
标签: javascript jquery html drop-down-menu disabled-input