【问题标题】:dropdown list validation using jquery使用jquery的下拉列表验证
【发布时间】:2011-12-14 07:24:48
【问题描述】:

我想用 jQuery 验证 dropdownlist。我的代码是:

<asp:DropDownList ID="ddlstate" runat="server" CssClass="dropdown">
    <asp:ListItem Value="0" Selected="True"> - Select State - </asp:ListItem>
    <asp:ListItem Value="AL">AL</asp:ListItem>
    <asp:ListItem Value="AK">AK</asp:ListItem>
    <asp:ListItem Value="AZ">AZ</asp:ListItem>
    <asp:ListItem Value="AR">AR</asp:ListItem>
    <asp:ListItem Value="CA">CA</asp:ListItem>
    <asp:ListItem Value="CO">CO</asp:ListItem>
    <asp:ListItem Value="CT">CT</asp:ListItem>
</asp:DropDownList>

我的 jQuery 验证是:

$(document).ready(function() {
    $("#aspnetForm").validate({
        rules:  <%=ddlstate.UniqueID %>: {
            required: "*"
        }
    },
    messages: <%=ddlstate.UniqueID %>: {
        required: "*" 
        },
    });

【问题讨论】:

  • 嘿,不要把“ddlstate.UniqueID”设为ClientID

标签: javascript jquery asp.net drop-down-menu jquery-validate


【解决方案1】:

试试这个。添加一个名为 dropdownvalidator 的方法来验证下拉菜单

$.validator.addMethod("dropDownValidator", function (value, element, parameters) {
        return (value != '0');
});

并在下面的规则中指定dropdownvalidator方法

rules: {
    myDropdown: {
        dropDownValidator: true
}

【讨论】:

    【解决方案2】:
    If($("#ddlstate").Val() =="0")
    {
        alert("Please select state");
    }
    

    【讨论】:

      【解决方案3】:

      您必须将默认值保留为 "" 才能正常工作。

      <asp:DropDownList ID="ddlstate" runat="server" CssClass="dropdown">
          <asp:ListItem Value="" Selected="True"> - Select State - </asp:ListItem>
          <asp:ListItem Value="AL">AL</asp:ListItem>
          ...
      

      【讨论】:

        【解决方案4】:

        这应该可行:

        jQuery.validator.addMethod("state", function(value, element) { 
          return /A-ZA-Z/.test(value); 
        }, "Please select a state");
        
        $("#aspnetForm").validate();
        
        <asp:DropDownList ID="ddlstate" runat="server" CssClass="dropdown state">
        

        【讨论】:

          【解决方案5】:

          如果您使用数据绑定来填充表单,您可以手动添加一个带有空字符串的 ListItem 作为值,并将 required 属性添加到下拉列表中。如果 jquery 验证器没有从列表中选择另一个项目,那么 jquery 验证器将验证失败。

          
          //aspx.cs code if using databinding
          myList.Items.Insert(0, new ListItem("", ""));
          
          // aspx code
          <asp:DropDownList ID="myList" runat="server" required="true">/asp:DropDownList> 
          
          // js code
          var validator = $("#Form1").validate();
          
          

          【讨论】:

            猜你喜欢
            • 2012-03-12
            • 1970-01-01
            • 1970-01-01
            • 2022-06-11
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多