为多选添加jQuery validationrule

时间:2012-03-08 11:03:17

标签: jquery asp.net-mvc html5 jquery-validate validation

在我的ASP.NET MVC应用程序中,我有一个带有select-tag的View,可以选择多个选项。

默认情况下(页面加载时)我在选择中没有选项。从某些操作可以使用选项填充选择,这可以正常工作。

现在,当我提交表单时,我想检查select是否有任何选项,因为在提交表单时要求select至少有一个选项。我不想检查是否选择了任何选项,只要select有任何选项。这是我到目前为止所得到的:

<select multiple="multiple" style="width:200px;" id="PersonnelClasses"
                name="PersonnelClasses"></select>

和jQuery代码:

$("#PersonnelClasses").rules("add", {
    required: true
});

现在,规则是什么样的,以检查选择列表中是否有任何项目?我没有在SO上找到任何解决方案,也没有在jQuery文档中找到任何解决方案。

更新

为选择添加选项的代码:

this.addPersonnelClass = function () {
        $('#selectablePersonnelClasses :selected').
          each(function (value, item) {
            $('#PersonnelClasses')
              .append($('<option></option>')
              .val(item.value) 
              .html(item.text));
    });
};

1 个答案:

答案 0 :(得分:1)

据我了解,页面已加载,用户点击了几件事,然后选择动态填充选项。你想要的是在更新后获得选项的数量。

查看以下代码:

<html>
<head>
     <script src="js/jquery.js" type="text/javascript"></script>
      <script type="text/javascript">
            function checkLength(){
                alert($('#PersonnelClasses option').length);
            }
      </script>
</head>
<body>
<form NAME="myform" ACTION="" METHOD="GET">
    <select multiple="multiple" style="width:200px;" id="PersonnelClasses" name="PersonnelClasses">
        <option>bla</option>
        <option>lala</option>
        <option>lolo</option>
        <option>l4</option>
    </select>
    <input type="button" name="mysubmit"  onClick="checkLength()" value="Click" />
</form>
</body>
</html>
  • 此示例在每次单击按钮时检查选择中的选项数量。 (此单击是在网页加载并且用户已填充选择后发生的操作)
  • 不要将该函数放在document.ready函数中(否则找不到该函数)