如何根据条件使用jQuery验证更改文本框的最大长度。
代码
SSN: { required: true, minlength: 9, maxlength: 9 }
如何根据if-else条件更改maxlength?
答案 0 :(得分:2)
三元表达式会不会是你想要的?
SSN: { required: true, minlength: 9, maxlength: ((condition)?true:false) }
例如:
SSN: { required: true, minlength: 9, maxlength: ((my_var=="short")?13:17) }
如果条件满足则打印13,否则打印17
编辑:修正最大长度,使其大于最小长度。
答案 1 :(得分:0)
您可以使用rules
选项中的函数return
基于特定动态条件的所需参数。
在下面的演示中,点击复选框会将maxlength
设为12
,否则为15
。
$('#myform').validate({
rules: {
SSN: {
required: true,
minlength: 9,
maxlength: function(element) {
return $('#foo').is(':checked') ? [12] : [15];
}
}
}
});
答案 2 :(得分:-1)
正如此doc所示,我认为您可以通过maxlength方法更改maxlength
:
$( "#yourTextBox" ).validate({
rules: {
field: {
required: true,
maxlength: function(){
return condition ? valueIfTrue, valueIfFalse;
}
}
}
});
编辑:正如@Sparky指出的那样,配置无法重新启动。因此,maxlength
应该由回调函数更改。