我有类似的东西。根据标志的不同,它将删除SELECT列表中的OPTION元素,或禁用这些OPTION元素。
if (flg===0) {
// do something
} else if (flg===1) {
jQuery(...selection...).filter(function() {
... bunch of checks here : return true or false ...
}).attr("disabled","disabled") ;
} else if (flg===2) {
jQuery(...selection...).filter(function() {
... same bunch of checks here as for flg===1 : return true or false ...
}).remove() ;
}
必须有一种更简单的方法。是否可以做这样的事情:
jQuery(...selection...).filter(function() {
... bunch of checks here : return true or false ...
}).function() {
if (flg===1) { this.attr("disabled","disabled") ;}
else if (flg===2) { this.remove() ; }
});
答案 0 :(得分:0)
您可以将过滤后的项目放在变量中,然后根据标志值执行操作:
let $filtered = jQuery(...selection...).filter(function() {
// ...bunch of checks here: return true or false...
})
if (flg === 1) {
$filtered.attr("disabled", "disabled");
} else if (flg === 2) {
$filtered.remove();
}