我坚持使用jQuery条件验证。有人可以给我一个很好的提示吗?感谢帮助:)
这是我的代码,验证在没有条件的情况下工作正常,但只有当收音机的一个值" shipping_method"被选中。
var shipping = jQuery('input[name="shipping_method"]:checked').val();
if(shipping == 'matrixrate_matrixrate_2048') {
Validation.add('validate-alphanumeric', 'Please enter number.', function(v) {
return Validation.get('IsEmpty').test(v) || /[0-9]+/m.test(v);
});
};
也许这是错误的方式,我想要的是检查条件为真时是否将数字添加到地址。
提前感谢您的帮助。
答案 0 :(得分:1)
如果有条件,你只使用一个=
,当你这样做时,你将改变变量值,返回将是变量的新值,在这种情况下,返回将是' matrixrate_matrixrate_2048'这将进入你的if条件。要进行比较,您需要使用==
或===
。那可行。
var shipping = jQuery('input[name="shipping_method"]:checked').val();
if(shipping === 'matrixrate_matrixrate_2048') { /* <---- Here the change */
Validation.add('validate-alphanumeric', 'Please enter number.', function(v) {
return Validation.get('IsEmpty').test(v) || /[0-9]+/m.test(v);
});
};
答案 1 :(得分:0)
谢谢大家的回答。 我通过在条件中使用addClass和removeClass解决了它,并将验证分开。所以现在它只会验证是否添加了类并且它是否有效。