从javascript启用gridview中的链接按钮

时间:2014-04-15 13:29:53

标签: c# javascript asp.net gridview

我的gridview中的项目模板包含一个文本框和一个链接按钮。我试图在我的gridview onblur事件中启用一个链接按钮来自后面的代码。

txtBox.Attributes.Add("onblur", "EnableSaveLinkButton('" + lnkSave.ClientID + "')");
 <asp:TemplateField HeaderText="Header">
 <ItemTemplate>
 <asp:TextBox ID="txtBox" runat="server" Width="50px" MaxLength="5"></asp:TextBox>
 &nbsp;<asp:LinkButton ID="lnkbtnSave" runat="server" CssClass="mediumFont" CausesValidation="false" CommandName="Save" Enabled="false">Save</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>


function EnableSaveLinkButton(lnkbtnsave){
    jQuery('#' + lnkbtnsave).attr('disabled', '');
//            jQuery("#" + lnkbtnsave).removeAttr("disabled");
    }

我尝试了两种方式,但没有奏效。谁能建议如何正确地做到这一点? 感谢。

4 个答案:

答案 0 :(得分:0)

链接控件的名称不是lnkbtnSave吗?

txtBox.Attributes.Add("onblur", "EnableLinkButton('" + lnkbtnSave.ClientID + "')");

您必须删除disabled属性,而不是将disabled设置为空。

jQuery('#' + lnkbtnsave).removeAttr('disabled');

答案 1 :(得分:0)

$(&#39;#&#39; + lnkbtnsave).removeAttr(&#34;禁用&#34;);应该管用。问题是,你是在正确的时间召集它吗?例如,在调用DOM之前,您确保DOM已准备好吗?像这样:

function EnableSaveLinkButton(lnkbtnsave){
$('#'+ lnkbtnsave).removeAttr("disabled");
};

请在

后面的代码中替换它
lnkbtnSave.Attributes.Add("onblur", "EnableLinkButton(this);");

答案 2 :(得分:0)

试试这个..

function EnableSaveLinkButton(lnkbtnsave){
    var id = lnkbtnsave.id.toString();
    var i = id.split("_");
    index = i[2].toString();
    document.getElementById('lnkbtnSave' + index).disabled='true';
    }

答案 3 :(得分:0)

您可以给出文本框和链接按钮css类。然后创建禁用的内联样式

<asp:TextBox ID="txtBox" runat="server" cssClass="txt" Width="50px" MaxLength="5">   </asp:TextBox>
 &nbsp;<asp:LinkButton ID="lnkbtnSave" runat="server" CssClass="mediumFont lnk disabled" CausesValidation="false" CommandName="Save">Save</asp:LinkButton>

  <style type="text/css">
    .disabled {
        color: grey;
    }
</style>
<script type="text/javascript">
    jQuery(document).ready(function () {
        jQuery('.lnk').on('click', function (e) {

            if (jQuery(this).hasClass('disabled')) {
                e.preventDefault();

            }
            else {

                window.location.href = jQuery(this).attr('href');
                jQuery('.lnk').removeClass('disabled');
            }
        });

        jQuery('.txt').on('blur', function () {
            jQuery('.lnk').removeClass('disabled');

        });
    });

    </script>

我为您编制了一个工作示例here。根据您的需要调整它。