我有以下代码用于删除基于 var“ColTypeCus”的选择项。
$(document).ready(function() {
var ColTypeCus = '$FooVar';
if (ColTypeCus.substr(0, 21) == "Machinery") {
$("select#ctl00_PageBody_lstValuationSource option[value='3']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='1']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='2']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='4']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='5']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='12']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='13']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='14']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='15']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='16']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='18']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='19']").remove();
}
else if (ColTypeCus.substr(0, 7) == "Banking") {
$("select#ctl00_PageBody_lstValuationSource option[value='17']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='3']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='7']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='8']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='9']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='10']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='11']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='12']").remove();
}
else if (ColTypeCus.substr(0, 19) == "Inventory") {
$("select#ctl00_PageBody_lstValuationSource option[value='3']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='1']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='2']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='4']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='5']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='12']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='14']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='15']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='16']").remove();
$("select#ctl00_PageBody_lstValuationSource option[value='18']").remove();
}
});
它工作得很好,但我想知道是否有一种更优雅的方式(更少的代码行)我可以实现来做同样的事情。
一个想法是指定在数组中列出要删除的项目并循环遍历这些项目。
***pseudocode***
var ColType = ''
var RemoveThis = ''
if Coltype = "Machinery"
RemoveThis = ('1,3,5,7,9');
{
$("select#ctl00_PageBody_lstValuationSource option[value='+RemoveThis+']").remove();
}
elseif Coltype = "Banking"
RemoveThis = ('2,4,6,8');
{
$("select#ctl00_PageBody_lstValuationSource option[value='+RemoveThis+']").remove();
}
有什么建议么?