【发布时间】:2019-01-22 07:49:36
【问题描述】:
我有四个下拉菜单和四个选项,所有四个下拉菜单都有相同的选项。如果用户从当前下拉列表中选择一个选项,我正在尝试删除其他三个下拉列表中的选项。如果用户再次使用新值进行更改,则应删除新值选项,并且应在其他下拉列表中再次填充旧值。我做了一些事情,但没有按预期工作。
参考以下jsFiddle(更新):http://jsfiddle.net/ruq1jb0c/5/
$('.inputcontrol').change(function() {
var fields = ['Employee', 'Status', 'State', 'Supervisor'];
var value = $(this).val();
$('.inputcontrol').not(this).find('option').each(function() {
if ($(this).val() == value) {
$(this).remove()
}
});
$('.inputcontrol').each(function() {
for (var i = 0; i < fields.length; i++) {
if (fields[i] != value) {
if ($(this).find("option[value=" + fields[i] + "]").length == 0) {
$(this).append("<option value=" + fields[i] + ">" + fields[i] + "</option>");
}
}
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="field1" class="inputcontrol">
<option value="Employee">Employee</option>
<option value="Status">Status</option>
<option value="State">State</option>
<option value="Supervisor">Supervisor</option>
</select>
<br><br>
<select id="field2" class="inputcontrol">
<option value="Employee">Employee</option>
<option value="Status">Status</option>
<option value="State">State</option>
<option value="Supervisor">Supervisor</option>
</select>
<br><br>
<select id="field3" class="inputcontrol">
<option value="Employee">Employee</option>
<option value="Status">Status</option>
<option value="State">State</option>
<option value="Supervisor">Supervisor</option>
</select>
<br><br>
<select id="field4" class="inputcontrol">
<option value="Employee">Employee</option>
<option value="Status">Status</option>
<option value="State">State</option>
<option value="Supervisor">Supervisor</option>
</select>
【问题讨论】:
-
你有什么尝试吗?给我们一些代码
-
是的,请参阅上面的链接@sayalok
-
我们不清楚,你想做什么?你能解释一下吗??
-
您应该在问题中包含您的代码/jsfiddle,而不是在评论部分。
标签: javascript jquery