(Jquery)从选定的tr中查找td的内容

时间:2010-03-08 12:08:13

标签: javascript jquery html

我是JQuery的新手,所以对这可能是一个非常简单的问题有所了解。

我有一张桌子,当我点击一行时,我希望将单元格细节填入表格中:

这么简单的例子

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

所以JQuery:

$(document).ready(function() {
   $('#table tr').click(function() {
       $test = $(this).find('td').context.innerText) //problem here *
       $('#input').val( );
   })
  • 返回tr的innertext(即“1 2”

我如何做到这一点...

提前致谢

安迪

编辑:好吧,我急着看到我搞砸了我打算输入的内容,这是我正在尝试的js:

$(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);
   })

混淆的应用

3 个答案:

答案 0 :(得分:7)

如果您希望将每个单元格的文本捕获为单个空格分隔的字符串以填充输入,则可以执行以下操作:

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

编辑只需拨打text(),例如:

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

答案 1 :(得分: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); 
  )};
});

答案 2 :(得分:0)

它对我有用:

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());
    });
});