【问题标题】:Validate drop down with jquery使用 jquery 验证下拉列表
【发布时间】:2012-03-12 01:34:31
【问题描述】:

因此,我将 Telerik 的下拉列表用于许多表单输入,并且我还在使用 jquery 客户端验证它们不是空的。这就是我所拥有的 - 它肯定会验证控件,但我无法通过查找其父对象来将类添加到对象。

jquery:

function validateCombo(source, args) {

    var combo = $find("<%= listWorkType.ClientID %>");
    var text = combo.get_text();
    if (text.length < 1) {        
        args.IsValid = false;
         combo.parents("div.selectWrap").addClass("error");
    }
    else {              
        args.IsValid = true;   
        combo.parents("div.selectWrap").removeClass("error");     
    }
}

.net

<div class="selectWrap"> <rad:RadComboBox ID="listWorkType" Width="338" runat="server" InputCssClass="dropdown"></rad:RadComboBox></div>
<asp:CustomValidator ID="RFVDesiredJob" runat="server" Display="Dynamic" CssClass="formtext" ClientValidationFunction="validateCombo" ErrorMessage="Required" ></asp:CustomValidator>

正如您从 jquery 中看到的那样,我想向包含正在验证的下拉列表的 div 添加一个“错误”类。如前所述,验证工作完美,但 div .selectWrap 没有添加类。

我总是可以按类引用 div 或创建一个 ID,但我这样做是为了一些下拉菜单,我正在寻找一个统一的解决方案。

任何见解将不胜感激。谢谢。

【问题讨论】:

    标签: jquery .net validation drop-down-menu telerik


    【解决方案1】:

    看起来您正在尝试在非 jQuery 对象上使用 jQuery,$find 会为您获取 Telerik 客户端对象,因此 combo.parents(..) 会引发异常。你可以试试这样的:

     function validateCombo(source, args) {
            var combo = $find("<%= listWorkType.ClientID %>");
            //fetch the jQuery element as well
            var jqueryComboItem = $('#' + "<%= listWorkType.ClientID %>"); 
            var text = combo.get_text();
        if (text.length < 1) {        
            args.IsValid = false;
            jqueryComboItem.parents("div.selectWrap").addClass("error");
        }
        else {              
            args.IsValid = true;
            jqueryComboItem.parents("div.selectWrap").removeClass("error");     
        }
    }
    

    【讨论】:

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