2015-04-06 62 views
1

我想合并列2的值与我的表中的列3,我的表具有超过20行。jquery将表第二列值合并到下一列值

我正在为class =“column2”添加第2列的类,为class =“column3”添加了3。 和我的表类名是genTable。

如何将每个列中的2个值合并到列3..eg中。在第二栏我有'名字'和第三栏我有'姓'作为测试,然后在这个脚本我想看到'姓氏姓'一起incolumn 3所有的列?

JS:

$(document).ready(function(){ 
    $(".genTable tr").each(function(){ 
      var col2value = $(".column2").text(); 
      var col3value = $(".column3").text(); 
      $(col2value).append(col3value); 
    }) 
}); 

如何给他人所有行每一列的值合并吗?我们需要使用for循环吗?

+0

http://jsfiddle.net/arunpjohny/z8k1efk6/1/ – 2015-04-06 07:59:52

回答

0

您可以附加column3内容column2,之后从表中删除column3

$(".genTable tr .column2").append(function() { 
    return ' ' + $(this).next('.column3').remove().html(); 
}); 

查看下面的演示。

$(".genTable tr .column2").append(function() { 
 
    return ' ' + $(this).next().remove().html(); 
 
});
table {border-collapse: collapse;} 
 
table td, table th {padding: 10px 5px; border: 1px #AAA solid;} 
 
table th {background: #EEE;} 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table class="genTable"> 
 
    <tr> 
 
     <th>ID</th> 
 
     <th class="column2">First name</th> 
 
     <th class="column3">Last name</th> 
 
     <th>Occupation</th> 
 
    </tr> 
 
    <tr> 
 
     <td>1</td> 
 
     <td class="column2">Thomas</td> 
 
     <td class="column3">Mann</td> 
 
     <td>Writer</td> 
 
    </tr> 
 
    <tr> 
 
     <td>2</td> 
 
     <td class="column2">Jon</td> 
 
     <td class="column3">Smith</td> 
 
     <td>Artist</td> 
 
    </tr> 
 
</table>

+0

嗨,感谢您的解决方案。但在哪里我需要调用“公共类用户”,以及如何在$(“。genTable tr .column2”)内引用?我想在我准备好的时候打电话给“公共班级用户”吗?或单独的脚本?如何操作只使用dom?而不是定义公共...因为我在我的jqgrid中也有同样的... – Krish 2015-04-06 08:19:11

+0

嗯..你在说什么“公共类用户”? – dfsq 2015-04-06 08:21:22

+0

在您的代码中:$(“。genTable tr .column2”)。append(function(){ return''+ $(this).next('。column3')。remove()。html(); } );它如何合并这两个值? – Krish 2015-04-06 08:24:48

0

1.方案1:使用jQuery 最接近()下()函数。

$(document).ready(function(){ 
     $(".genTable tr td.column2").each(function(){ 
      var col2value = $(this).text();// replace text() with html() to get/set entire html inside selected html element 
      var col3value = $(this).next("td.column3").text(); 
      $(this).text(col2value + " " + col3value); 
     }); 
}); 

See here ...

2.选项2:多一个属性添加到您的类(说你的类名是用户)

public class User 
    { 
     public string FirstName {get; set;} 
     public string LastName {get; set;} 
     public string FullName {get {return FirstName + LastName ;}} 
    } 
+0

谢谢您对我是否有空白单元格(col3value)任何想法认为“无效”作为文本相应的列2。如何避免这种情况? - – Krish 2015-04-06 10:16:59

+0

克里希,我已经用链接更新了我的答案https://jsfiddle.net/ahnr263u/ – RollerCosta 2015-04-06 14:37:12

+0

感谢您的更新。现在我们正在将这些值作为文本正确的进行协调,相反我们可以将整个html结构移动到下一列,因为我可能不仅有文本值也可以用于锚元素或一些点击事件。在那种情况下我们该如何处理? – Krish 2015-04-07 03:05:13

相关问题