jQuery addClass没有添加类?

时间:2014-03-21 11:48:55

标签: jquery .net twitter-bootstrap

我查了一下论坛但没找到适合我的解决方案。我有一个带有母版页的简单.Net页面。我正在尝试使用CustomSalidators实现ValidationGroup,并使用ClientSide验证。

HTML非常简单(注意,只有文本框目前正在验证,仅用于测试目的)。

<div style="border: 1px solid #000; padding: 30px; margin-top: 100px;">
   <asp:TextBox ID="txt1" runat="server" CssClass="form-control"></asp:TextBox>
   <asp:TextBox ID="txt2" runat="server" CssClass="form-control"></asp:TextBox>
   <asp:Button ID="btn1" runat="server" Text="Test A" CssClass="btn btn-primary" ValidationGroup="vgroup1" />
</div>

<asp:CustomValidator ID="cvTxt1" runat="server" ValidationGroup="vgroup1" ControlToValidate="txt1" ClientValidationFunction="textValidate" ValidateEmptyText="True"></asp:CustomValidator>

javascript也是直截了当的:

<script type="text/javascript">
function textValidate(oSrc, args) {
    var isValid = false;
    // label label-warning
    isValid = args.Value.trim();

    if (isValid) { 
        $("#" + oSrc.controltovalidate).removeClass("has-error");    
    }
    else {
        $("#" + oSrc.controltovalidate).addClass("has-error");
    }

    args.IsValid = isValid;
}
</script>

oSrc.controltovalidate生成ctl00_ContentPlaceHolder1_txt1(我手动添加#),因此生成了正确的ID。但是,班级没有更新?

UPDATE:在head部分创建一个名为.test的自定义类时,该类已按原样添加。那么,什么可能导致.has-error不被应用?

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

var isValid = false;
// label label-warning
isValid = args.Value.trim();

if (isValid) { 
    $("#" + oSrc.controltovalidate).removeClass("has-error");    
}
else {
    $("#" + oSrc.controltovalidate).addClass("has-error");
}

该行&#39; isValid = args.Value.trim();&#39;需要在传递给if语句之前将它的值转换为布尔值,true / false吗?

答案 1 :(得分:0)

似乎控件需要包含在FORM-GROUP类的div中。然后为该组中的所有对象分配正确的类。