0

このコードで次のエラーが発生します。画像の表示にリピーターを使用しています。画像IDはimg.injqueryで$("#<%=img.ClientID %>")画像の取得に使用しています。しかし、imgのようなエラーは、現在のコンテキストには存在しません。リピーターIDはrptRepeaterです。どうすればこの問題を解決できますか?$("#<%=img.ClientID %>") doesnot exists in current context

.NETコード

<asp:Repeater ID="RepeaterView" runat="server"> 
    <ItemTemplate> 
        <a onmouseout="SelectEnd()" onmouseover='<%#Eval("Coords","preview(\"{0}\");")%>'>     
            <asp:Image ID="ImageZoom" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> ' Height="150" Width="150" >    
            </asp:Image> 
        </a> 
    </ItemTemplate> 
</asp:Repeater>

JavaScriptコード

<script type="text/javascript"> 
    function preview(Coords) { 
        var arrResult = Coords.split(","); 
        var nx1 = arrResult[0]; 
        var ny1 = arrResult[1]; 
        var nx2 = arrResult[2]; 
        var ny2 = arrResult[3]; 
        var ias = $("#<%=ImageZoom.ClientID %>").imgAreaSelect({ instance: true });
        ias.setSelection(nx1, ny1, nx2, ny2, true); ias.setOptions({ show: true });     
        ias.update(); 
    }
</script>
4

1 に答える 1

0

あなたが抱えている問題は、そのためのIDが1つもないことです.ページに複数の要素を追加しているため、そのコードがすべての要素を処理することは不可能です. より一般的なものにする必要があります。

ID を必要としないコードをこれに変更してみてください。

.NET コード

<asp:Repeater ID="RepeaterView" runat="server"> 
    <ItemTemplate> 
        <a onmouseout="SelectEnd()" onmouseover='<%#Eval("Coords","preview(this, \"{0}\");")%>'>     
            <asp:Image ID="ImageZoom" runat="server" ImageUrl='<%# DataBinder.Eval(Container.DataItem, "ImageUrl") %> ' Height="150" Width="150" >    
            </asp:Image> 
        </a> 
    </ItemTemplate> 
</asp:Repeater>

JavaScript コード

<script type="text/javascript"> 
    function preview(elem, Coords) { 
        var arrResult = Coords.split(","); 
        var nx1 = arrResult[0]; 
        var ny1 = arrResult[1]; 
        var nx2 = arrResult[2]; 
        var ny2 = arrResult[3]; 
        var ias = $(elem).find("img").imgAreaSelect({ instance: true });
        ias.setSelection(nx1, ny1, nx2, ny2, true); ias.setOptions({ show: true });     
        ias.update(); 
    }
</script>
于 2012-05-01T12:48:52.820 に答える