我有一些遵循如下格式的表单元素:
<input type="radio" name="test" value="A"> <input type="text" size="3" name="weightA" id="A"><br>
<input type="radio" name="test" value="B"> <input type="text" size="3" name="weightB" id="B"><br>
我正在使用 jQuery Validation 插件进行客户端验证。我想对这些字段做的是确保与所选单选按钮对应的文本输入等于 100。我已经使用 PHP 在服务器端成功实现了这一点,但想添加一个 JS 方法以提供即时反馈在提交表单之前。我已经包含了一个 jQueryrange:
规则,用于将用户输入限制在数字范围 [1-100] 内的两个文本字段中。
我将如何进行这项工作?会jQuery.validator.addMethod
是这样做的方法吗?
编辑: 为了回应 Sparky 的评论,我尝试了一个 addMethod,如下:
$.validator.addMethod(
"selectWt", function(value, element) {
var selA = $('[name="test"]').val() === "A";
var selB = $('[name="test"]').val() === "B";
if (selA && ($("#A").val() !== "100")) {
return false;
} else if (selB && ($("#B").val() !== "100")) {
return false;
} else return true;
}, "Selected option must equal 100."
);
这似乎触发了对#A
但不是 #B
的验证,并且显示的错误消息是由message:
规则指定的,而不是由addMethod
. 请记住,我的编程背景很少。