是什么导致IE在其他浏览器执行时无法验证(jquery)

Kem*_*son 2 javascript validation jquery internet-explorer cross-browser

我有一个使用jQuery 1.7和jQuery验证1.9(在本文发布时最新)的表单,它适用于firefox/chrome/safari,但只能部分用于IE(至少8.0,尚未测试其他版本) - - 不确定这笔交易是什么.这里有一个例子:http: //jsfiddle.net/bulbous/hZn5A/100/

如果单击"测试",则会看到文本输入控件在所有浏览器中都已验证,但下拉列表未在ie中验证(但在所有其他浏览器中都未验证).我还包括以下示例的完整html:

<head>
    <script src="jquery-1.7.js" type="text/javascript"></script>
    <script src="jquery.validate-1.9.js" type="text/javascript"></script>
</head>
<body>
<script type="text/javascript">
$(document).ready(function() {
  jQuery.validator.addMethod("notEqual", function(value, element, param) {
      return this.optional(element) || value != param;
  }, "Please choose some value!");

  $('#myForm').validate({
      rules: {
          text: {
              required: true
          },
          category: {
              required: true,
              notEqual: "---"
          }
      },
      messages: {
          text: {
              required: "Text required"
          },
          category: {
              required: "Category required"
          }
      }
  });
});
    </script>
<form id="myForm">
    <select id="category" name="category">
        <option>---</option>
        <option>Category 1</option>
        <option>Category 2</option>
        <option>Category 3</option>
    </select>
    <input type="text" id="text" name="text" />
    <input type="submit" value="Test" />
</form
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

Poi*_*nty 5

如果您为<option>标签提供明确的"值"属性,则可以正常工作.

<option value='---'>---</option>
Run Code Online (Sandbox Code Playgroud)

我不清楚它为什么在IE7中失败但不在IE8中失败.