我有一个转发器,每行有一个链接按钮,这里是代码:
<asp:Repeater ID="rpt_OutstandingBCsForClient" runat="server">
<ItemTemplate>
<div class="pay">
<table>
<tr>
<td>
<div style="width: 230px;">
<asp:Label ID="lbl_Len" runat="server" ></asp:Label>
</div>
</td>
<td align="left">
<div style="width: 80px;">
<asp:LinkButton ID="lnkbtn_Remove" runat="server">Remove</asp:LinkButton>
</div>
</td>
</tr>
</table>
</div>
</ItemTemplate>
</asp:Repeater>
我想禁用或隐藏所有ID为&#39; lnkbtn_Remove&#39;的链接按钮。按钮点击,所以我已经完成了这一点,但它仍然无法正常工作,如果在var linkButton1之后发出警报我得到一个对象,但它没有禁用或隐藏链接按钮:
$("input[id$='btnP']").click(function (e) {
var linkButton1 = $('[id*="lnkbtn_Remove"]');
$.ajax({
type: "POST",
url: "MyPage.aspx/Take",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
if (msg.d.indexOf('https://') > -1) {
$('#lnkbtn_Remove').attr("disabled", true);
}
else {
}
}
});
e.preventDefault();
});
答案 0 :(得分:3)
由于您的LinkButton
是服务器端控件,因此其客户端ID不会是lnkbtn_Remove
,而是somethingsomethingsomethinglnkbtn_Remove
。
因此,请尝试$('[id$="lnkbtn_Remove"]')
而不是$('#lnkbtn_Remove')
。 id$=
表示“ID以”结尾。
除选择器问题外,您显然也无法停用LinkButton
,因此您需要.remove()
或.hide()
。
答案 1 :(得分:2)
OnbuttonClick如果要禁用此按钮,则可以使用...
$('[id*=lnkbtn_Remove]').attr("disabled", true);
或者如果你想隐藏它,那么只需使用
$("#lnkbtn_Remove").hide();
答案 2 :(得分:1)
每个链接按钮都会通过asp.net更改您的ID。使用外卡。
更改
$('#lnkbtn_Remove').attr("disabled", true);
要
$('[id*=lnkbtn_Remove]').attr("disabled", true);
答案 3 :(得分:1)
尝试为您的按钮设置CSS类,例如“linkButtonRemove”,因此转发器中的所有链接按钮都将具有相同的类。我认为这比在这里使用ID更好......
然后在jquery中尝试隐藏找到的元素:
$('.linkButtonRemove').hide();
或通过添加css样式
$('.linkButtonRemove').css('display', 'none');
答案 4 :(得分:0)
$('#lnkbtn_Remove').click(function(){return false;})