我正在使用 jQuery、jQuery Mobile 和 jQuery Validation 插件
我有一个“密码”字段和一个“记住密码”复选框。
我希望仅在验证密码字段后才启用该复选框。
这是 HTML 中的两个字段
<input type="password" name="password" class="submit required" minlength="6" />
<input type="checkbox" name="rememberpassword" value="remember" />
要启用或禁用复选框,我使用 jQuery Mobile 命令
$('[name=rememberpassword]').checkboxradio( "enable" ); and
$('[name=rememberpassword]').checkboxradio( "disble" );
我不知道可以在验证规则中的何处添加此命令。
我尝试在密码字段的验证规则中添加启用/禁用命令,如下所示:
$(form).validate({
rules: {
password: {
required: {
depends: function(element) {
console.log('In the password depends');
if (!$(element).hasClass('error')) {
$('[name=rememberpassword]').checkboxradio("enable");
} else {
$('[name=rememberpassword]').checkboxradio("disable");
}
return true;
}
}
}
}
});
这种方法的问题是,只有在密码字段中的第一个数据输入之后才将有效和错误类添加到元素中进行验证,因此复选框仍然有效。
我还尝试使用该.valid()
方法验证表单或密码字段,但只要该字段未填充某些内容,这似乎没有任何作用。
我尝试做同样的事情,但使用.valid()
密码上的方法而不是测试错误类的存在,但这会导致递归,直到返回错误。
我没有找到一种方法来检查不会触发完整验证和随之而来的递归的字段的有效性。
任何帮助,将不胜感激。