2015-03-25 24 views
0

如果选择某个单选按钮值,我需要将不同的addMethod应用于单个字段。如果单选按钮按钮使用jQuery验证器插件,则将不同的addMethod应用于字段

如果选择单选按钮值= true,则应该将其他方法X应用于该字段,并且如果选择单选按钮值= false,则应将附加方法Y应用于相同字段。

我已经尝试在单个addMethod中完成此条件语句,但无法为每个实例显示唯一的错误消息。

$.validator.addMethod("RegistrationNumber", function (value, element) { 
    if($("#radio-1").is(":checked")) { 
    //opt 1    
    } else { 
    //opt 2 
    } 
}, "message"); 

<input type="radio" name="reg" id="radio-1" value="true"/> true 
<input type="radio" name="reg" id="radio-2" value="false"/> false 
<input type="text" name="RegistrationNumber"/> 

我在这里有什么选择?我究竟做错了什么?

+0

请问您可以共享单选按钮html – 2015-03-25 08:55:21

回答

0

我想你可以有2个不同的规则和使用depends

$.validator.addMethod("RegistrationNumberX", function (value, element) { 
    //return true/false based on validation 
    return false; 
}, "messageX"); 
$.validator.addMethod("RegistrationNumberY", function (value, element) { 
    //return true/false based on validation 
    return false; 
}, "messageY"); 

然后

something: { 
    RegistrationNumberX: { 
     depends: function() { 
      return $("#radio").is(":checked") 
     } 
    }, 
    RegistrationNumberY: { 
     depends: function() { 
      return !$("#radio").is(":checked") 
     } 
    } 

} 

演示启用基于检查的状态:Fiddle

0

//下面的代码检查您的单选按钮名称为'yourRadioName' //是否被选中

$(document).ready(function() { 
    if($("input:radio[name='yourRadioName']").is(":checked")) { 
     //its checked 
    } 
    else 
    { 

    } 
});