わかりましたので、私はこのリピーターを持っています:
<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 () {
resultDiv
resultDiv_1
またはのようなものになりresultDiv_2
ました。
リピーター内の各divにクリックイベントをバインドするものを探しています。私はajax呼び出しでこのようにしてみました:
$("#<%#Eval("divId") %>").click(function ()
しかし、これは機能せず、あらゆる種類のエラーが発生します。
これを行う方法はありますか?updatepanels は使いたくないので、ご了承ください。