2013-10-06 5 views
0

J'essaie d'obtenir la valeur d'entrée suivante après un champ <td>. J'ai essayé quelque chose commejQuery next(). Val() undefined

$(this).parent("tr").next("input") mais cela n'a pas fonctionné.

Voici le jsfiddle.

Comme vous pouvez le voir besoin pour sélectionner une option pour analyser l'entrée ... Je veux que la valeur d'entrée delimiter de la même ligne ..

+0

La valeur d'un élément '

+0

Pourriez-vous coller tout le code dans votre question ici aussi, s'il vous plaît? – pablofiumara

+0

Alors, quel est le texte d'un type d'entrée = texte? – Johnny000

Répondre

1

Essayez el.parent("td").next().find("input[name=delimiter]").val():

$("#go").click(function() { 
    $('.csv_field').each(function (index, element) { 
     el = $(this); 
     if (el.val() != "'-- NONE --'") { 
      console.log(el.parent("td").next().find("input[name=delimiter]").val()); 
     } 
    }); 
}) 

jsFiddle example

Vous effectuez l'itération sur .csv_field qui sont vos champs de sélection. Le parent est le td donc vous voulez parent() ou parent("td") mais parent("tr") ne fonctionnera pas parce que parent() ne fait que monter d'un niveau le DOM. Ensuite, vous voulez aller à la cellule suivante via next(), puis obtenir son enfant via find("input[name=delimiter]"). Notez également que el.val() != "'-- NONE --'" devrait probablement être el.val() != "-- NONE --"

+0

Oh, donc j'étais une sorte de parent malentendu() ... merci pour l'indice – Johnny000