我正在使用jQuery Validation Plugin进行表单验证,我无法使用值字段而不是文本字段验证选择框。
我的情况:
[HTML]
<form id="form">
<select name="customPrice[0][50]" id="customPrice050">
<option value="2435">Select date... </option>
<option value="474">Friday, Mar 1st</option>
<option value="475">Friday, Mar 8th</option>
<option value="476">Friday, Mar 15th</option>
</select>
<br/>
<input type="submit" value="Click" />
[jQuery的]
$(document).ready(function()
{
// add the rule here
$.validator.addMethod("valueNotEquals", function(value, element, arg){
return arg != value;
}, "Value must not equal arg.");
// configure your validation
$("form").validate({
rules: {
"customPrice[0][50]": { valueNotEquals: "2435" }
},
messages: {
"customPrice[0][50]": {
valueNotEquals: "Please select a date!"
}
}
});
}
);
这非常有效。问题是值2435不是静态的,而是总是在变化。唯一的静态属性是文本&#34;选择日期...&#34;。 现在我会这样:
"customPrice[0][50]": { textNotEquals: "Select date... " }
有人可以帮助我吗?
答案 0 :(得分:1)
回调函数的中间参数是要验证的元素。您应该可以使用它来从所选选项中获取文本,并检查它是否不是“选择日期...”。
试试这个:
$.validator.addMethod("selectTextNotEquals", function(value, select, arg) {
return arg != $(select).find('option:selected').text();
}, "Text must not equal arg.");
<强> DEMO 强>