当组合框选择的索引发生变化时,我试图隐藏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" />
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();
}
}
<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" />
答案 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();
}
}