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

时间:2013-11-20 17:54:26

标签: javascript jquery html input

有没有办法用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();" />

重要提示:复选框右侧的输入字段与复选​​框相关联。

点击按钮后,我想要进行此检查:选中的每个checkbox都有一个空的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 个答案:

答案 0 :(得分: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/