Javascript 通过字段循环以使用jQuery进行验证
有没有办法用Javascript 通过字段循环以使用jQuery进行验证,javascript,jquery,html,input,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' /> &
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: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
}
});
演示:如果您发布相关的HTML代码,而不是伪(无用)代码,那么帮助您会更简单……对不起,我没有真正的代码可以提供给您,因为我不知道从哪里开始。所以我试着给你们一个逻辑顺序来说明我要做的事情。我在谈论HTML代码,检查它的结构,看看复选框和输入是否是直接的兄弟姐妹,对此我很抱歉;html是由php组合而成的,相当混乱。所以我试着简化它,这太简单了。我不熟悉
。next
命令,这就解释了为什么我让这个命令听起来如此困难。我喜欢简单:)我会在时间到期时标记你正确。。。我做了一个小小的改动,让它工作起来,if($(this).next(“:text”).val(“”){
,它将把值设置为nothing!并且将始终通过if
--.length
是否有布尔检查,因为0
是falsy@KickingLettuce--我还制作了一把小提琴来演示上述代码的工作原理:
$(":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
}
});