2010-09-18 5 views
0

Étant donné un tableau comme suit:navigation de table en utilisant jQuery sélecteurs relatifs uniquement

<tbody> 
     <%foreach (var book in Model.Books) 
      { %> 
     <tr> 
      <td> 
       <%: book.Title %> 
      </td> 
      <td> 
       <%= book.AuthorsToLinks("MyBooks/List") %> 
      </td> 
      <td> 
       <%: book.Genre.GenreName %> 
      </td> 
      <td> 
       <input type="hidden" value="<%: book.Review.Rating %>" /> 
      </td> 
      <td> 
       <div class="bookRating"> 
       </div> 
      </td> 
      <td> 
       <%= Html.ActionLink("Edit" , "Edit", new {bookID = book.BookID}, new { @class = "editBook"}) %> 
      </td> 
     </tr> 
     <%} %> 
    </tbody> 

Comment la colline Sam-je sélectionner la valeur d'entrée cachée au-dessus du div « de bookRating »?

Je pense que j'ai essayé toutes les combinaisons de prev()/parent()/children()/next(), etc., et je suis complètement hors de la patience.

Merci.

Mise à jour:

Voici mon JS qui ne fonctionne pas:

$('.bookRating').raty({ 
    start: $(this).parent('td').prev('td').children('input').val(), 
    readOnly: true 
}); 

Je suis en train d'insérer une note pour chaque ligne, comme vous pouvez le voir. $ (ceci) est apparemment le problème. Quelqu'un sait pourquoi?

Répondre

1
$('.bookRating').parent('td').prev('td').children('input').val(); 

Doit faire.


Je ne pense pas que vous ne pouvez pas utiliser this dans cette fonction pour faire référence à l'objet qui a appelé la fonction. Étant donné qu'il pourrait y avoir plusieurs .bookRating, vous avez probablement besoin itérer chacun d'eux séparément (je ne sais pas comment votre plugin fonctionne):

$('.bookRating').each(function(){ 
    $(this).raty({ 
     start: $(this).parent('td').prev('td').children('input').val(), 
     readOnly: true 
    }); 
}); 
+0

Merci de confirmer ce que je pensais. Je vais mettre à jour ma question ici dans une seconde ... – asfsadf

+0

Awesome! C'est le ticket. La seule chose que je devais faire était d'assigner $ (this) à une variable pour garder une trace de la portée. Merci chef. – asfsadf