拼车网站有到达城市和出发城市两个选择标签,我想防止用户在到达城市选择和出发城市选择中选择同一个城市。
这是一个例子:
<select name="departure" size="1">
<option value="1">NY</option>
<option value="2">FL</option>
<option value="3">LA</option>
</select>
<select name="arrival" size="1">
<option value="1">NY</option>
<option value="2">FL</option>
<option value="3">LA</option>
</select>
我只是想阻止用户使用 JavaScript 或任何其他解决方案在两个选择字段中选择同一个城市
最佳答案
对于一个简单的解决方案,我建议:
function deDupe(el) {
var opt = el.selectedIndex,
other = el.name == 'departure' ? document.getElementsByName('arrival')[0] : document.getElementsByName('departure')[0],
options = other.getElementsByTagName('option');
for (var i = 0, len = options.length; i < len; i++) {
options[i].disabled = i == opt ? true : false;
}
}
var departure = document.getElementsByName('departure')[0],
arrival = document.getElementsByName('arrival')[0];
deDupe(document.getElementsByName('departure')[0]);
departure.onchange = function () {
deDupe(departure);
};
arrival.onchange = function () {
deDupe(arrival);
};
引用资料:
关于javascript - 根据其他选择值隐藏选择中的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15101286/