2011-01-25 32 views
5

tôi cần phải vượt qua div id khách hàng để JavaScript của một repeaterLàm thế nào để vượt qua id khách hàng khoản trong repeater để javascript

Tôi có 3 divs bên trong một repeater tôi có sự kiện onmouseover tôi muốn lấy id khách hàng của div yếu tố có cách nào tôi có thể vượt qua khách hàng chính xác của phần tử div

u guys có thể giúp tôi ra Cảm ơn

+1

Ông có thể vui lòng cho mã bạn có cho đến nay? Nó sẽ làm cho mọi thứ rõ ràng hơn. –

+0

Có thể hữu ích: http://stackoverflow.com/questions/641280/reference-asp-net-control-by-id-in-javascript xem câu trả lời thứ hai –

Trả lời

6

Something như thế này (nếu tôi hiểu bạn một cách chính xác):

Markup:

<asp:Repeater id="myRepeater" OnItemDataBound="myRepeater_ItemDataBound" runat="server"> 
    <ItemTemplate> 
     <div id="myDiv" runat="server">......</div> 
    </ItemTemplate> 
</asp:Repeater> 

Mã-đằng sau:

protected void myRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e) 
{ 
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     HtmlGenericControl myDiv = e.Item.FindControl("myDiv") as HtmlGenericControl; 
     // you can just pass "this" instead of "myDiv.ClientID" and get the ID from the DOM element 
     myDiv.Attributes.Add("onmouseover", "doStuff('" + myDiv.ClientID + "');"); 
    } 
} 
0

Nếu lặp lại ám vào trình duyệt, bạn có thể nhận được các yếu tố lặp lại với:

var rep = $get("<%= rpt.ClientID %>"); 

Nếu không, quấn một

<DIV id="RepeaterEL"></div> 

xung quanh lặp lại, và truy cập con của nó hoặc thông qua tinh khiết JavaScript (và childNodes bộ sưu tập), hoặc sử dụng JQuery như

$("#RepeaterEL").children("DIV").each(function(i) {  
    var id = $(this).attr("id"); //<- pointer to DIV }); 
+0

http://stackoverflow.com/questions/2567040/asp -controls-id-generation-bên trong-repeater tôi có cùng một vấn đề là có bất kỳ cách nào tôi có thể vượt qua id khách hàng để javascript – jhon

5

Nếu bạn muốn làm điều đó trong đánh dấu, bạn có thể sử dụng sau để có được những ClientId:

<%# Container.FindControl("_RepeaterEL").ClientID %> 
2
<asp:Panel CssClass="modal hide fade" ID="myModal" runat="server"> 
          <div class="modal-header"> 
           <a class="close" data-dismiss="modal">×</a> 
           <h3>Add to cart</h3> 
          </div> 
          <div class="modal-body"> 
           <nav> 
            <iframe seamless src="/ToCart/<%# DataBinder.Eval(Container.DataItem, "code")%>" 
             style="border-style: none;"> </iframe> 
           </nav> 
          </div> 
</asp:Panel> 

<a data-toggle="modal" href="#<%#Container.FindControl("myModal").ClientID%>"> 
    <div class="add-to-cart-one">+</div> 
</a> 
Các vấn đề liên quan