0

我收到此代码的以下错误。我正在使用中继器来显示图像。图像 id 是 img .in jquery 我$("#<%=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,您正在向页面添加多个元素,因此该代码不可能处理所有元素。你需要让它更通用。

尝试将您的代码更改为不需要 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 回答