2010-03-08 6 views
3

choisi Je suis très nouveau pour JQuery, si appologies pour ce qui peut être une question très simple.(Jquery) Trouver le contenu d'un td d'un tr

J'ai une table, et quand je clique sur une ligne, je veux les détails cellules à remplir en une forme:

exemple si simple

<table id="table"> 
<tr><td class="field1">1 </td><td class="field2">2 </td></tr> 
</table> 
<input id="input" type="text" /> 

Ainsi, le JQuery:

$(document).ready(function() { 
    $('#table tr').click(function() { 
     $test = $(this).find('td').context.innerText) //problem here * 
     $('#input').val(); 
    }) 
  • ce retourne le InnerText du tr (ie "1 2"

Comment suis-je supose de le faire ...

Merci à l'avance

Andy

Edit: ok dans ma course je vois que je foiré ce que je supose taper, est ici la js je suis en train:

$(document).ready(function() { 
    $('#table tr').click(function() { 
     $field1 = $(this).find('td.field1').context.innerText) //problem here * 
     $('#input1').val($field1); 
     $field2 = $(this).find('td.field2').context.innerText) //problem here * 
     $('#input12').val($field2); 
    }) 

appologies pour la confusion

Répondre

6

Si vous voulez que le texte de chaque cellule pour être capturé comme une chaîne séparée de l'espace-roussir pour remplir votre entrée, vous pouvez le faire:

$(document).ready(function() { 
    $('#table tr').click(function() { 
     var $test = $(this).find('td').map(function() { 
      return $(this).text(); 
     }).get().join(" "); 
     $('#input').val($test); 
    }); 
}); 

EDIT il suffit d'appeler text(), par exemple:

var $field1 = $(this).find('td.field1').text(); 
+0

Je ne sais pas si mes modifications apporté des modifications à votre suggestion, si vous pouvez avoir un coup d'oeil. Et je vous remercie de votre réponse, je vais jeter un oeil – Andy

+0

oh bon dieu, facile, grâce qui a travaillé/bonk – Andy

0
$(document).ready(function() { 
    var $test=""; 
    $('#table tr>td').click(function() { 
     $test = $(this).text(); 
     $('#input').val($test); 
    )}; 
}); 

alernative:

$(document).ready(function() { 
    var $test =""; 
    $('.field1, #table').click(function() { 
     $test = $(this).text(); 
     $('#input').val($test); 
)}; 
    $('.field2, #table').click(function() { 
    $test = $(this).text(); 
    $('#input').val($test); 
)}; 
}); 
0

Il a travaillé pour moi:

HTML:

<tr class="" id="tr_id" > 
    <td class="l_id">7283630222</td> 
</tr> 
<tr class="" id="tr_id" > 
    <td class="l_id">7276684022</td> 
</tr> 
<input tyxp="text" id="leadID"></input> 

jQuery:

$(document).ready(function(){ 
    $("tr#tr_id").click(function(){ 
     $("#hiddenDiv").show(); 
     $("#leadID").val($(this).find("td.l_id").text()); 
    }); 
}); 
Questions connexes