隐藏按钮组合框更改事件

时间:2015-11-12 16:17:28

标签: jquery asp.net

当组合框选择的索引发生变化时,我试图隐藏asp:按钮。我没有得到错误消息,但根本没有使用以下代码。请告诉我。我尝试使用调试器并查看标记代码。这是生成的代码。

    <input type="submit" name="ctl00$plh$Manage1$btnForward" value="Forward" id="ctl00_plh_Manage1_btnForward" name="btnForward" style="visibility: hidden" />

    <input type="submit" name="ctl00$plh$Manage1$btnSave" value="Save" id="ctl00_plh_Manage1_btnSave" name="btnSave" />

JQuery的

function OnClientNameSelectedIndexChanged(sender, eventArgs) {
    var item = eventArgs.get_item();
      debugger;
    var item = eventArgs.get_item();
    if (item.get_text() == "testing1") {

        $("#btnForward").show();
        $("#btnSave").hide();
    }
    else
    {
        $("#btnSave").show();
        $("#btnForward").hide();
    }

}

HTML

     <asp:Button ID="btnForward" name="btnForward" runat="server" Text="Forward"
        CausesValidation="false" Style="visibility: hidden" OnClick="btnForward_Click" />

      <asp:Button ID="btnSave" name="btnSave" runat="server" Text="Save" OnClick="btnSave_Click"
         ValidationGroup="GrpHotline" />

1 个答案:

答案 0 :(得分:2)

由于您使用的是服务器控件 btnForward btnSave 不是为您的按钮生成的ID,这将是在运行时由.NET更改,这将产生类似( ctl00 $ plh $ Manage1 $ btnForward )的内容。您需要获取客户端ID,如下所示。

    function OnClientNameSelectedIndexChanged(sender, eventArgs) {
        var item = eventArgs.get_item();

        var item = eventArgs.get_item();
        if (item.get_text() == "testing1") {
             $('#<%= btnForward.ClientID %>').show();
             $('#<%= btnSave.ClientID %>').hide();
        }
        else
        {
             $('#<%= btnForward.ClientID %>').show();
             $('#<%= btnSave.ClientID %>').hide();
        }
    }