0

行ごとにリンクボタンがあるリピーターがあります。コードは次のとおりです。

<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が「lnkbtn_Remove」のすべてのリンクボタンを無効または非表示にしたいので、これを実行しましたが、var linkBut​​ton1の後にアラートを配置すると、オブジェクトを取得しましたが、無効または非表示になりません。リンクボタン:

$("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();
        });
4

5 に答える 5

4

はサーバー側のコントロールであるためLinkButton、クライアント側のIDはではlnkbtn_Removeなくsomethingsomethingsomethinglnkbtn_Remove

したがって、$('[id$="lnkbtn_Remove"]')の代わりに試してください$('#lnkbtn_Remove')id$=「IDはで終わる」を意味します。


セレクターの問題だけでなく、明らかに無効にすることはできないLinkButtonので、無効にする必要があり.remove()ます.hide()

于 2012-12-06T09:44:09.233 に答える
2

OnbuttonClickこのボタンを無効にする場合は、...を使用できます。

$('[id*=lnkbtn_Remove]').attr("disabled", true);

または、これを非表示にしたい場合は、単に使用できます

$("#lnkbtn_Remove").hide(); 
于 2012-12-06T10:04:35.800 に答える
1

IDは、リンクボタンごとにasp.netによって変更されます。ワイルドカードを使用します。

変化する

$('#lnkbtn_Remove').attr("disabled", true);

$('[id*=lnkbtn_Remove]').attr("disabled", true);
于 2012-12-06T09:43:34.337 に答える
1

「linkBut​​tonRemove」のようにボタンにCSSクラスを設定して、リピーターのすべてのリンクボタンが同じクラスになるようにしてください。ここでIDを使用するよりも良い方法だと思います...

そして、jqueryで見つかった要素を非表示にしてみてください。

    $('.linkButtonRemove').hide();

またはcssスタイルを追加することによって

     $('.linkButtonRemove').css('display', 'none');
于 2012-12-06T09:58:30.770 に答える
0
$('#lnkbtn_Remove').click(function(){return false;})
于 2012-12-06T10:00:35.390 に答える