jquery タブ ウィジェットを使用し、各タブ パネルに別の 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>
タブウィジェットが配置された親ページで、テーブル要素の本体から値を読み取ろうとしました。
$(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 開発ツールが非表示の入力を表示すると。誰かがこの問題に遭遇しましたか? 誰かが助けてくれれば非常にありがたいです。ありがとうございました。