2010-11-14 58 views
1

我使用jquery选项卡小部件并使用另一个aspx页面的内容填充每个选项卡面板。 是这样的:jquery选项卡中的隐藏元素不可见

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
<div id="tabs"> 
    <ul> 
    <li><%: Html.ActionLink("PENDING", "PendingList", "Admin")%></li> 
    <li><%: Html.ActionLink("APPROVED", "ApprovedList", "Admin")%></li> 
    <li><%: Html.ActionLink("DENIED/CANCELED", "CanceledList", "Admin")%></li> 
    </ul> 
</div> 

被注射为内容的网页看起来是这样的:

<table cellpadding="2" cellspacing="0" border="1"> 
<thead> 
<tr> 
    <td>Event name</td><td>Private</td><td>Location</td><td>Start date</td> 
    <td>Duration</td><td>Asset</td><td>Contact name</td><td>Email</td><td>Phone</td> 
</tr> 
</thead> 
    <tbody> 
    <tr> 
     <td>Some event Name<input type="hidden" id="bookingId" value="1"></td> 
     <td>Yes</td> 
     <td>...</td> 
     ... 
    </tr> 
</tbody> 
</table> 

在父页面,标签控件放在我尝试从表体读取数值elemnt。

$(document).ready(function() { 

function initializeCanceledTab(tabPanel/**/) { 
     var tabRows = $(tabPanel).find("table tr"); 

     tabRows.each(function (index, domEl) { 
      var id = $(this).find("input:hidden").val(); 
      or 
      var id = $(this).find("#bookingId:hidden").val(); 
      or 
      var id = $(this).find("input:has[type='hidden']").val(); 
     }); 
}); 

我可以读取除隐藏字段中的值以外的所有值。 $(this)是一个tr元素。检查它(innerHTML)表明在那里没有隐藏的输入。但是当页面呈现firebug和IE开发工具显示隐藏输入时。 有人遇到过这个问题吗?如果有人能提供帮助,我将非常感激。谢谢。

+0

你是否能够在viewsource中看到它们 – kobe 2010-11-15 00:10:29

+0

@你可以做更多的事情,只需在firebug控制台中编写jquery代码并查看是否可以得到结果 – kobe 2010-11-15 00:19:12

+0

ViewSource仅显示父页面上的内容,没有表或其他注入元素。如果我在表格描述的内容页面上编写脚本,我可以解决这个问题。但想要在一个地方有脚本。 – Maxim 2010-11-15 01:16:19

回答

0

不知道如果你仍然有这个问题,但这应该工作假设内容正确加载:

var id = $(this).find("input[type='hidden']").val(); 

:隐藏的是不一样的:文本或:按钮 - http://api.jquery.com/hidden-selector/

相关问题