检查正在检查的数组中的任何项目?

时间:2010-07-11 18:02:17

标签: jquery arrays

我需要一些帮助来缩短这段代码,我只是稍微偏了一点。这是原始代码:

$("#MKDPT").change(function() {
 if ($("#MKDPT").is(":checked") && $("#AMX1N").is(":not(:checked)") ||
 ("#ERXXN").is(":not(:checked)")) {
         alert(this.id);
     }    
 });

我将添加更多id。我可以创建一个ID的数组,确保不检查并与之进行比较吗?我不确定你是否可以检查是否检查了数组中的任何项目,或者我是否需要通过.length进行检查?

实施例

 $("#MKDPT").change(function() {
       if ($("#MKDPT").is(":checked") && $("#AMX1N").is(":not(:checked)") ||
 ("#ERXXN").is(":not(:checked)") || ("#ID").is(":not(:checked)") || ("#ID").is(":not(:checked)") ||
 ("#ID").is(":not(:checked)") || ("#ID").is(":not(:checked)") || ("#ID").is(":not(:checked)")) {
         alert('foo');
     }    
 });

这就是我想要的,但遇到了麻烦:

 $("#MKDPT").change(function() {
       var ckd = new Array = ("AMX1N","ERXXN","ID","ID","ID","ID","ID","ID","ID")
       if ($("#MKDPT").is(":checked") && ckd.is(":not(:checked)")) {
         alert('foo');
     }    
 });

Kane Leins

1 个答案:

答案 0 :(得分:0)

一种方法就是这样:

$("#MKDPT").change(function() {
       var ckd = new Array ("AMX1N","ERXXN","ID");

       for(var i = 0; i < ckd.length; i++)
       {
          if ($("#" + ckd[i]).is(":checked")) {
             alert('foo');
             break;
          }
       }
 });

for循环遍历每个数组元素并检查是否检查了具有此类id的任何元素,如果是,则会发出警告。