Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 获取另一行中表格单元格的值_Jquery - Fatal编程技术网

Jquery 获取另一行中表格单元格的值

Jquery 获取另一行中表格单元格的值,jquery,Jquery,我有一张几排的桌子 <table width="100%" border="0"> <tr> <td data-r1="123">val 1</td> <td data-r1="332">val 2</td> <td data-r1="144">val 3</td> <td data-r1="654">val 4</td> <t

我有一张几排的桌子

<table width="100%" border="0">
  <tr>
    <td data-r1="123">val 1</td>
    <td data-r1="332">val 2</td>
    <td data-r1="144">val 3</td>
    <td data-r1="654">val 4</td>
    <td data-r1="443">val 5</td>
    <td data-r1="448"> val 6</td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td colspan="3" data-r1="aaa">row 3 val 1</td>
    <td data-r1="ddd">row 3 val 2</td>
    <td colspan="2" data-r1="ggg">row 3 val 3</td>
  </tr>
</table>
如何从单元格的colspan>1行中获取值?

我期待的最终结果如下所示:

<table width="100%" border="0">
  <tr>
    <td data-r1="123">val 1</td>
    <td data-r1="332">val 2</td>
    <td data-r1="144">val 3</td>
    <td data-r1="654">val 4</td>
    <td data-r1="443">val 5</td>
    <td data-r1="448"> val 6</td>
  </tr>
  <tr>
    <td>123, aaa</td>
    <td>332, aaa</td>
    <td>144, aaa</td>
    <td>654, ddd</td>
    <td>443, ggg</td>
    <td>448, ggg</td>
  </tr>
  <tr>
    <td colspan="3" data-r1="aaa">row 3 val 1</td>
    <td data-r1="ddd">row 3 val 2</td>
    <td colspan="2" data-r1="ggg">row 3 val 3</td>
  </tr>
</table>

瓦尔1
val 2
val 3
val 4
瓦尔5
val 6
123,aaa
332,aaa
144,aaa
654,ddd
443,ggg
448,ggg
第3行val 1
第3行val 2
第3行val 3
您可以使用jquery方法来过滤colspan属性大于1的结果,如下所示

$('td').filter(function() {
    return $(this).attr("colspan") > 1;
})

这是一段代码片段,可以满足您的需要

您可以看到,您需要使用jQuery获取data-r1属性的值,并将它们组合起来,用适当的值填充第二行

对于第三行,我必须进行一些特殊处理来处理colspan属性的存在,因此您需要特别注意这一部分

//所有行
变量行=$('table tr');
//log('rows:'+rows.length);
//第1行
var r1tds=$(行[0]).find('td');
//console.log('cells:'+r1tds.length);
//第2排
var r2tds=$(行[1]).find('td');
//第3排
var r3tds=$(行[2]).find('td');
//从第3行获取数据值
var r3cellValues=[];
对于(x=0;x

瓦尔1
val 2
val 3
val 4
瓦尔5
val 6
第3行val 1
第3行val 2
第3行val 3

@Zach,请看我上面的编辑。我的问题不是通过colspan进行选择,而是从与同一列中的单元格对应的单元格中获取正确的值。您的问题仍然不是很清楚。您是使用显示为输入的第一个表,并希望创建仅显示组合值的第二个表,还是希望将组合值插入第二行的td元素中?不,它是同一个表。它是用PHP输出的,但我需要使用jquery从顶行和底行获取值以填充中间行。更新以澄清。好的,我现在明白你的意思了。您希望从第1行中获取值,并将其与第3行相应列中的值组合,然后将组合值放入第2行的单元格中。好的,我发布了一个单独的答案,它应该会告诉您在这种情况下该怎么做。
$('td').filter(function() {
    return $(this).attr("colspan") > 1;
})