0

わかりましたので、私はこのリピーターを持っています:

        <asp:Repeater runat="server" ID="rep"  >
        <ItemTemplate> 
        <tr>
        <td>           
        <div id="resultDiv">
        click me
        </div>                      
        </td>
        </tr>            
        </ItemTemplate>
        </asp:Repeater>

そして、私はこのjquery ajax呼び出しを持っています:

  $(document).ready(function () {
            $("#resultDiv").click(function () {
                $.ajax({
                    type: "POST",
                    url: "Page.aspx/GetDate",
                    data: "{}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (msg) {
                        // Replace the div's content with the page method's return.
                        $("#resultDiv").text(msg.d);
                    }
                });
            });
        });

問題は、これがリピーター内の最初の div に対してのみ機能することです。他の div をクリックすると、クリック イベントが発生しません。これは、それらがすべて「resultDiv」という同じ ID を持っているためです。

私は今、それらに一意の ID を与える方法を探しています。これは、次のように行うことができます:

 <td>          
<div id="resultDiv_<%#Eval("divId") %>">
 click me
 </div>        

これにより、リピーター内のすべての div に一意の ID が与えられますが、この方法では ajax クリック イベントが発生しなくなります。

 $("#resultDiv").click(function () {

resultDivresultDiv_1またはのようなものになりresultDiv_2ました。

リピーター内の各divにクリックイベントをバインドするものを探しています。私はajax呼び出しでこのようにしてみました:

$("#<%#Eval("divId") %>").click(function () 

しかし、これは機能せず、あらゆる種類のエラーが発生します。

これを行う方法はありますか?updatepanels は使いたくないので、ご了承ください。

4

1 に答える 1