jquery选项卡中的隐藏元素不可见

时间:2010-11-14 23:01:50

标签: jquery jquery-plugins jquery-tabs

我使用jquery tabs小部件并使用来自另一个aspx页面的内容填充每个选项卡面板。 看起来像这样:

<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开发工具显示隐藏输入时。 有人遇到过这个问题吗?如果有人可以提供帮助,我们将非常感激。谢谢。

1 个答案:

答案 0 :(得分:0)

不知道你是否仍然遇到此问题,但这应该可以正常加载内容:

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

:隐藏与:text或:button - http://api.jquery.com/hidden-selector/

不同