如何 Add/Remove select 选项从 1 下拉到 selection 其他下拉选项
How to Add/Remove select option from 1 drop down on selection of other dropdown option
假设我有 2 个下拉菜单。我的要求是,在第一个下拉列表中选择一个选项时,该选项应该从其他下拉列表中删除,并且在从第一个下拉列表中取消选择该选项时,该选项应该在其他下拉列表中可供选择。
我已经写了下面的 JavaScript 来解决上面的问题,只要给你的下拉菜单一个常见的 class 就像 "importance" 在这里并使用这个代码:
var j$importance = j$(".importance");
j$importance.on("change", function () {
var select = this,
selected = j$("option:selected", this).text();
var currentUnselectedValues = [];
j$('option', this).each(function() {
currentUnselectedValues.push( j$(this).text());
});
j$importance.each(function (_, el) {
for(i=0; i<currentUnselectedValues.length; i++){
var exist = false;
j$('option', el).each(function(_, elm) {
if(currentUnselectedValues[i] === j$(elm).text()){
exist = true;
}
});
if(exist === false){
j$(el).append('<option value="' + currentUnselectedValues[i] + '">' + currentUnselectedValues[i] + '</option>');
}
}
if (el !== select) {
j$("option", el).each(function (_, el) {
var j$el = j$(el);
if (j$el.text() === selected && j$el.text() != '--None--') {
j$el.remove();
}
});
}
});
});
假设我有 2 个下拉菜单。我的要求是,在第一个下拉列表中选择一个选项时,该选项应该从其他下拉列表中删除,并且在从第一个下拉列表中取消选择该选项时,该选项应该在其他下拉列表中可供选择。
我已经写了下面的 JavaScript 来解决上面的问题,只要给你的下拉菜单一个常见的 class 就像 "importance" 在这里并使用这个代码:
var j$importance = j$(".importance");
j$importance.on("change", function () {
var select = this,
selected = j$("option:selected", this).text();
var currentUnselectedValues = [];
j$('option', this).each(function() {
currentUnselectedValues.push( j$(this).text());
});
j$importance.each(function (_, el) {
for(i=0; i<currentUnselectedValues.length; i++){
var exist = false;
j$('option', el).each(function(_, elm) {
if(currentUnselectedValues[i] === j$(elm).text()){
exist = true;
}
});
if(exist === false){
j$(el).append('<option value="' + currentUnselectedValues[i] + '">' + currentUnselectedValues[i] + '</option>');
}
}
if (el !== select) {
j$("option", el).each(function (_, el) {
var j$el = j$(el);
if (j$el.text() === selected && j$el.text() != '--None--') {
j$el.remove();
}
});
}
});
});