有没有办法用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
(旁注:写这个伪使我想知道是否有更好的命名约定我可以使用,以便我不必从这些中提取特定的数字。)
(另一个注意事项:当未选中复选框时,文本字段被禁用;我有此工作)
有人可以给我一些指导吗?
答案 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
}
});