【发布时间】:2017-01-02 09:57:38
【问题描述】:
我有两个具有相同选项的选择下拉菜单。用户可以从两个选择下拉菜单中选择“办公地址”。但是“家庭/学校地址”选项只能从任一下拉菜单中选择一次。我参考了其他堆栈溢出答案并进行了一些调整。但我无法解决以下两个问题。请帮我。 1. 在页面加载时 - 在第二个下拉菜单中未禁用家庭地址 2.办公地址不应该被禁用,因为它可以从两个下拉菜单中选择
JS小提琴链接:https://jsfiddle.net/6qpudb52/
<select name="address1">
<option value="1">Home address</option>
<option value="2">School address</option>
<option value="3">Office Address</option>
</select>
<select name="address2">
<option val="">Select address</option>
<option value="1">Home address</option>
<option value="2">School address</option>
<option value="3">Office Address</option>
</select>
Java 脚本:
var $dropdown1 = $("select[name='address1']");
var $dropdown2 = $("select[name='address2']");
$(document).load(function() {
$dropdown2.find('option').prop("disabled", false);
var selectedItem = $(this).val();
if (selectedItem) {
$dropdown2.find('option[value="' + selectedItem + '"]').prop("disabled", true);
}
});
$dropdown1.change(function() {
$dropdown2.find('option').prop("disabled", false);
var selectedItem = $(this).val();
if (selectedItem) {
$dropdown2.find('option[value="' + selectedItem + '"]').prop("disabled", true);
}
});
$dropdown2.change(function() {
$dropdown1.find('option').prop("disabled", false);
var selectedItem = $(this).val();
if (selectedItem) {
$dropdown1.find('option[value="' + selectedItem + '"]').prop("disabled", true);
}
});
【问题讨论】:
-
@Satpal,我认为这个 req 没有填满:- Office 地址不应该被禁用,因为它可以从两个下拉列表中选择
-
@Satpal :感谢您的快速响应和帮助。 #2 问题在两个示例中都没有解决(当用户从任一下拉菜单中选择“办公地址”时,不应从两个下拉菜单中禁用办公地址)。
-
@Satpal :效果很好!!!谢谢!
标签: jquery