-1

td如果我知道要读取哪一行,如何读取特定列中的所有单元格。

让我来说明一下:

<tr>
    <td><input type="checkbox" value="0"></td>
    <td>1</td>
    <td>John</td>
    ....
</tr>

在某些时候,我知道我需要读取值0,并且我想知道td该行中的所有其他值。

所以在某个循环中我有这个:

selected[i][0]

这是给我的:<input type="checkbox" value="0"> var i0

如何获得所有物品?

我试过了:$('tr').eq(i).find('td').eq(1).text()

它没有给我正确的价值观。

4

5 回答 5

2

Protip:学习使用令人敬畏的 Firebug 控制台来直接输出所选元素 - 这是直观代码 Javascript 的方式 :-)

$('tr').eq(i).children('td').children('input').val() 

也许吧,但轮到你了。

在此处输入图像描述

于 2013-07-14T19:40:56.947 回答
1

请看以下helpshttp://jsfiddle.net/sLBgY/

<script>
    function load(){
        var table = document.getElementById("mtable");
        for (var i = 0, row; row = table.rows[i]; i++) {
           if(table.rows[i].cells[0].getElementsByClassName('valTd')[0].value==0){
               for (var j = 1, col; col = row.cells[j]; j++) {
                 alert(table.rows[i].cells[j].innerText);
               } 
            }
        }
    }
</script>

<body onload="load()">
<table id="mtable">    
    <tr>
        <td><input class='valTd' type="checkbox" value="0"></td>
        <td>1</td>
        <td>John</td>
   </tr>
   <tr>
        <td><input class='valTd' type="checkbox" value="1"></td>
        <td>1</td>
        <td>John</td>
   </tr>
 </table>
 </body>
于 2013-07-14T19:52:50.503 回答
0

如果你的 html 看起来像这样

<tr>
    <td><input type="checkbox" value="0"></td>
    <td>1</td>
    <td>John</td>
</tr>

<tr>
    <td><input type="checkbox" value="0"></td>
    <td>2</td>
    <td>Julie</td>
</tr>

那么您只需执行此操作

   $('tr').each(function( index, element) {
      var $element = $(element),
          checkbox = $element.children(0)[0];
          id = $element.children(1); 
          name = $element.children(2);
   });

演示链接

于 2013-07-14T19:49:33.147 回答
0

这将找到正确行中的所有单元格:

$(function () {
    var found = false;
    $('table tr').each(function () {
        var cells = $(this).children('td');
        if (cells.eq(0).find('input').val() == 0) { // the value you're looking for
            found = cells;
        }
    });
    if (found) {
        alert(found.eq(0).html() + found.eq(1).html() + found.eq(2).html());
    }
});

http://jsfiddle.net/7VmR9/16/

于 2013-07-14T19:53:06.507 回答
0

在某些时候,我知道我需要读取值 0,并且我想知道该行中的所有其他 td。

如果我对您的理解正确,这应该使用 jQuery 库为您提供预期的结果:

$("td input[value='0']").parent().parent().children("td").each(function(){
    alert($(this).text()); //Replace alert with however you want to output your data
});

解释:

$("td input[value='0']")将选择<input />属性value设置为 0 的所有标签,包含在<td>标签中

.parent()将转到父<td>标签

.parent()将转到父<tr>标签

.children("td")将选择<td>相应标签中包含的所有tr标签

.each(function(){...})<td>会对这些标签做些什么

$(this).text()将选择<td>的文本

于 2013-07-14T19:54:26.690 回答