如果使用javascript/jquery将其从第一个选项列表中移除,请将其从第二个列表中移除
我有两个选择列表 第一名单 穆罕默德 AAAAAAAAAAAA 试验 但是,它只处理列表中的一个项目,而不是两个或更多,它从第一个列表中删除不同的选项,我认为这是因为当第二次循环后删除一个项目时,第一个列表中的项目将具有不同的索引…可能不确定如果使用javascript/jquery将其从第一个选项列表中移除,请将其从第二个列表中移除,javascript,jquery,Javascript,Jquery,我有两个选择列表 第一名单 穆罕默德 AAAAAAAAAAAA 试验 但是,它只处理列表中的一个项目,而不是两个或更多,它从第一个列表中删除不同的选项,我认为这是因为当第二次循环后删除一个项目时,第一个列表中的项目将具有不同的索引…可能不确定 希望有人能帮忙我把第一个循环改成了 for(var a=0; a <= e.options.length-1; a++) 因此,数组以递增的方式填充,并使用过滤函数工作Jquery解决方案: $('#0 option').filter(functi
希望有人能帮忙我把第一个循环改成了
for(var a=0; a <= e.options.length-1; a++)
因此,数组以递增的方式填充,并使用过滤函数工作Jquery解决方案:
$('#0 option').filter(function(){
return $('#5 option[value='+this.value+']').length > 0
}).remove();
$'0选项'.filterfunction{
返回$'5选项[value='+this.value+']'。长度>0
}.移除;
穆罕默德
AAAAAAAAAAAA
测验
AAAAAAAAAAAA
测试请检查功能移除选项退出。我在代码的注释行中添加了解释
//从第一个选择中删除已存在于第二个选择中的选项。
函数移除选项退出{
//从第二个选择框中检索值
var values=$5 option.toArray.mapx=>x.value;
//从第一次选择中查找所有选项。
//筛选在第二个选择中存在值的选项
//将其循环并移除。
$0选项。toArray
.filterx=>values.includesx.value
.forEachx=>x.remove;
}
//文档准备就绪后调用remove函数。
$document.readyfunction{
取消选择退出;
};
穆罕默德
AAAAAAAAAAAA
测验
AAAAAAAAAAAA
测验
感谢您的帮助,这似乎比我的解决方案好,我接受您的回答:
var e = document.getElementById('0');
var f = document.getElementById('5');
var output = [];
for(var a= e.options.length-1; a >= 0; a--) {
output.push(e.options[a].value);
}
console.log(output);
for(var b= f.options.length-1; b >= 0; b--) {
if (output.includes(f.options[b].value)){
var i=output.indexOf(f.options[b].value);
console.log(i);
e.remove(i);
}}
for(var a=0; a <= e.options.length-1; a++)
$('#0 option').filter(function(){
return $('#5 option[value='+this.value+']').length > 0
}).remove();