【问题标题】:Loop won't cycle through matrix循环不会循环遍历矩阵
【发布时间】:2015-06-04 19:43:44
【问题描述】:

我不明白为什么这个函数不会循环遍历相关类矩阵中的所有输入,它只检查第一个字段。我有一种感觉,这是因为我在某处遗漏了 [i],但我尝试将它放在几个不同的地方,但没有得到或奇怪的结果。

function showAnamneseFisico()
{
  function nullCheck() { 
    var y =  /^\d{7}[/]\d{2}[/]\d{4}/;
    var x = $(".nidNumber");
 for (i = 0; i < x.length; i++) 
 if (y.test(x.val()) === false){ 
 return 0;}
}

   if (nullCheck() === 0) {
     alert ('pop');}
}

【问题讨论】:

  • 你指的是什么矩阵?
  • 将 {} 添加到您的 for 循环中?
  • @technophobia 据我了解,我可能使用了错误的术语,但 $(".nidNumber") 应该创建一个输入答案的矩阵数组,其中包含 for 循环应该循环的类 nidNumber通过根据 if 语句测量每个输入答案。
  • @JoshuaViele 你说得对,术语有点不对劲。更合适的术语是 collectionset

标签: jquery loops for-loop matrix


【解决方案1】:

假设矩阵引用类.nidNumber的所有元素,那么:

function showAnamneseFisico() {
    var y =  /^\d{7}[/]\d{2}[/]\d{4}/;
    var x = $(".nidNumber");
    var isNull =  false;

    for (i = 0; i < x.length; i++) {
        if (y.test(x.eq(i).val()) === false){ 
            isNull = true;
            break;
        }
    }

    if (isNull) {
        alert ('pop');
    }
}

注意事项

  • 嵌套方法 nullCheck() 被替换为 isNull 布尔值
  • 使用.eq() 提取所需元素
  • 一发现假值就跳出for循环

【讨论】:

  • 是的,这正是我一直在寻找的,谢谢,并且您解决了我一直试图找出启动的嵌套函数方法!我的代码中都有通用的 nullCheck 函数,现在我可以清理它了
猜你喜欢
  • 2022-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-13
  • 2020-05-30
  • 1970-01-01
相关资源
最近更新 更多