2017-03-21 14 views
1

我被验证与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

Please add you markup as well – KornholioBeavis

+0

您是否尝试过比较,如'if(shipping ==='matrixrate_matrixrate_2048'){'而不是分配 – adeneo

+0

Markup?你的意思是?所以我不是程序员。 –

回答

1

如果条件是,你使用的只是一个=,当你这样做的时候你会改变变量的值,并且返回值就是变量的新值,在这种情况下返回值将是'matrixrate_matrixrate_2048',这将会进入在你的条件。为了比较您需要使用=====。那可行。

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); 
    }); 
}; 
0

谢谢大家回答。 我通过在条件中使用addClass和removeClass解决它,并把验证分开。所以现在只会验证该类是否被添加并且工作正常。

相关问题