仅在收音机检查了特定值时才进行验证

时间:2017-03-21 22:10:04

标签: javascript jquery

我坚持使用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);
    });
};

也许这是错误的方式,我想要的是检查条件为真时是否将数字添加到地址。

提前感谢您的帮助。

2 个答案:

答案 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解决了它,并将验证分开。所以现在它只会验证是否添加了类并且它是否有效。