2010-11-14 8 views
1

J'utilise le widget des onglets jquery et je remplis chaque panneau d'onglets du contenu d'une autre page aspx. ressemble à ceci:Les éléments cachés dans les onglets jquery ne sont pas visibles

<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> 

La page qui est injectée en tant que contenu ressemble à ceci:

<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> 

la page parent, où le widget onglet a été placé j'essaie de lire les valeurs du corps de la 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(); 
     }); 
}); 

Je peux lire toutes les valeurs à l'exception de la valeur dans un champ masqué. $ (this) est un élément tr. L'inspecter (innerHTML) a montré qu'il n'y a aucune entrée cachée là. Mais quand la page a rendu le firebug et l'outil de développement d'IE montrent l'entrée cachée. Est-ce que quelqu'un a rencontré ce problème? Sera très apprécié si quelqu'un peut aider. Je vous remercie.

+0

êtes-vous en mesure de les voir dans viewsource – kobe

+0

@you peut faire une chose, il suffit d'écrire le code jquery dans la console firebug et voyez si vous pouvez obtenir les résultats – kobe

+0

viewSource montre que ce qui est sur la page parent, pas de tables ou autres éléments injectés. Je peux résoudre ce problème si j'écris un script sur la page de contenu où est décrite la table. Mais voulait avoir des scripts dans un seul endroit. – Maxim

Répondre

0

Je ne sais pas si vous avez encore des problèmes avec cela, mais cela devrait fonctionner en supposant que le contenu a chargé correctement:

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

: caché n'est pas la même chose que: texte ou: Bouton - http://api.jquery.com/hidden-selector/

Questions connexes