jQuery验证带有HTML值的选择框

时间:2013-03-13 12:53:15

标签: jquery jquery-validate

我正在使用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... " }

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:1)

回调函数的中间参数是要验证的元素。您应该可以使用它来从所选选项中获取文本,并检查它是否不是“选择日期...”。

试试这个:

$.validator.addMethod("selectTextNotEquals", function(value, select, arg) {
    return arg != $(select).find('option:selected').text();
}, "Text must not equal arg.");

<强> DEMO