首页 文章

循环遍历字段以使用jQuery进行验证

提问于
浏览
-1

有没有办法用 jQuery 做到这一点?

这是设置:

<input type='checkbox' class='sk1' />   <input type='text' class='skill1' />
<input type='checkbox' class='sk2' />   <input type='text' class='skill2' />
<input type='checkbox' class='sk3' />   <input type='text' class='skill3' />

<input type="button" onclick="validate();" />

重要说明:复选框右侧的输入字段与复选框相关联 .

单击按钮时,我想要进行此检查:每个 checkboxcheckednot 在其右侧有一个空的 input 字段 . 当它找到一个时,它会停止并抛出一个 alert .

环顾四周,我看到我需要使用 regex 和jQuery .each .

伪代码:

for each checkbox class^=sk[number]
    check if input[type=text] that has a class with skill[same number as above]
    if empty, alert,
       Otherwise, continue checking other boxes

(旁注:写这个伪使我想知道是否有更好的命名约定我可以使用,以便我不必从这些中提取特定的数字 . )

(另一个注意事项:当未选中复选框时,文本字段被禁用;我有此工作)

有人可以给我一些指导吗?

1 回答

  • 2

    只需循环复选框并检查 next 文本元素:

    $(":checkbox:checked").each(function() {
        if (!$(this).next(":text").val().length) {
            alert("You must put in text!");
            return false; //bail out of the loop, return true to skip to the next iteration
        }
    });
    

    演示:http://jsfiddle.net/uvQ6C/

相关问题