-1

ASP.NET を使用しています。リピーターを使用して画像を表示しています。また、各画像のチェック ボックスも使用しています。

個々の画像を選択し、画像 ID ごとに値を更新するにはどうすればよいですか?

私のコードは次のとおりです。

 <asp:Repeater ID="Repeater1" runat="server">
      <ItemTemplate>
           <img ID="ImageZoom" runat="server" 
                src='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> '
                style="display: inline; height:auto; left: 0pt; top: 0pt;
                width:auto;" />
           <asp:CheckBox ID="CheckBox1" runat="server" />
      </ItemTemplate>
</asp:Repeater>
4

1 に答える 1

0

javascriptを使用してこれを実装できます。次のような方法でうまくいくはずです。

jQueryなし

<asp:Repeater ID="Repeater1" runat="server">
      <ItemTemplate>
           <img ID="ImageZoom" runat="server"
                onclick="imageClickHandler(this,event);" 
                src='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> '
                style="display: inline; height:auto; left: 0pt; top: 0pt;
                width:auto;" />
           <asp:CheckBox ID="CheckBox1" runat="server" />
      </ItemTemplate>
</asp:Repeater>

function imageClickHandler(s,e){
//do something with the current image that is being clicked on.
//The parameter 's' is a reference to the caller of this method and the 'e' contains
//event data  
}

jQueryを使用

jQueryを使用している場合は、次のようにすることもできます。

<asp:Repeater ID="Repeater1" runat="server">
      <ItemTemplate>
           <img ID="ImageZoom" runat="server"
                class="handled" 
                src='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> '
                style="display: inline; height:auto; left: 0pt; top: 0pt;
                width:auto;" />
           <asp:CheckBox ID="CheckBox1" runat="server" />
      </ItemTemplate>
 </asp:Repeater>

<script type="text/javascript" src="jquery-1.7.3"></script>
$(function(){
  $("img.handled").click(function(){
    //alerts the id of the image thats being clicked on.
    alert($(this).attr("id"));
  });
});
于 2012-08-22T06:33:09.480 に答える