2012-04-01 82 views
0

我有两个表。这两个表可以进行修改和两个表应该是百达相同:\与jquery同步两个表

这不是我的愿望..但客户想要的是:-)

所以我的问题是,我需要照顾,那两张桌子都有相同的内容^^你会怎么做?也许与jQuery和JSON?

任何想法?

我用ASPX,jQuery的,JSON等PP

编辑:

确定这里的信息。情况:客户有一张表,他可以在运行期间添加订单。每张订单都是一张表中的一行。客户可以编辑表格中的一些输入。对于一张桌子来说,没问题......但现在我必须有两张相同的桌子。

因此,现在情况是:表A和表B.用户添加,删除或更改表中的一行。表B将识别这些更改并将同步数据。

结构为: [图片链接] [选择]【输入】【输入】【输入】【输入】【输入】

我想确认表的更改,然后克隆整个表内容到另一个表。

最好的办法是:JSON绑定到该行。不过我不认为它可能;-(

+0

您的标记的演示? – 2012-04-01 17:21:30

+0

HTML没有可编辑的表格。您需要提供更多详细信息,例如如何让你的表格可编辑等等。 – ThiefMaster 2012-04-01 17:21:52

+0

尽管HTML确实有'tables',可以使用['contentEditable'](https://developer.mozilla.org/en/HTML/Content_Editable)来包含子'td'元素。 – 2012-04-01 17:28:15

回答

3

我建议使用这些方针的东西:。

$('table td').blur(
    function(){ 
     var row = $(this).closest('tr').index(), 
      col = $(this).index(), 
      table = $(this).closest('table'); 

     $('table') 
      .not(table) 
      .find('tr:eq(' + row + ')') 
      .find('td:eq(' + col + ')') 
      .text($(this).text()); 
    });​ 

JS Fiddle demo


基础上通过了OP的评论编辑

其正常tableinput这么没什么特别的。

$('table input').blur(
    function(){ 
     var row = $(this).closest('tr').index(), 
      col = $(this).closest('td').index(), 
      table = $(this).closest('table'); 

     $('table') 
      .not(table) 
      .find('tr:eq(' + row + ')') 
      .find('td:eq(' + col + ') input') 
      .val($(this).val()); 
    });​ 

JS Fiddle demo

参考文献:

+0

谢谢大卫!那正是我需要的!谢谢SOOOO! – Smokefoot 2012-04-01 17:52:17

+0

你很受欢迎,我很高兴能够得到帮助! =) – 2012-04-01 17:57:42

0

保持在JavaScript变量和变化更新都HTMLS的数据是一般的方法和我只能说,没有看到您的标记