2012-09-25 144 views
2

,因为这不是一个真正的问题,无法将数据保存到动态DOM,请除了要解决类似的问题,用下面的代码忽略这个问题当表分拣机使用

我想画当点击动态生成的表格行时,多边形到Google地图上。看起来数据已经成功保存到那个dom中,但是不能在$ .each()函数之外再次读取。

$.getJSON(url, function(json) { 
    $.each(json, function(index) { 
     var id = "tableLine_"+index; 
     tbody.append(
      '<tr id='+id+' class="tableLine">'+ 
      '<td>'+ this.status+ '</td>'+ 
      '<td>'+ this.name+'</td>'+ 
      '<td>'+ this.city+'</td>'+ 
      '<td>'+ this.street+'</td>'+ 
      '<td>'+ this.language+'</td>'+ 
      '<td>'+ this.distance+'</td>'+ 
      '</tr>' 
     ); 

     //save data to the specific 'tr' 
     $("tr#"+id).data("polygon",this.polygon); 

     //this proved that the data was saved 
     alert($("tr#"+id).data("polygon")); 
    }); 

    $("table").tablesorter({ 
     sortLocaleCompare: true, 
     widgets: ['zebra'] 
    }).tablesorterPager({ 
     container: $(".pager"), 
     size: 15 
    }); 
}); 

多边形:

"polygon":[{"x":48.235752,"y":11.685345},{"x":48.21908,"y":11.686883}...] 

的单击事件绑定到表行的功能:

$('.tableLine').live('click', function (event){ 
    var polygon = $(this).data("polygon"); 

    if(polygon){ 
     addPolygon(polygon); 
    } 
}); 
+0

我终于发现表格分拣机导致了这个问题,当我将它从getJSON()中移出时,它将起作用。然而,列不能再被排序,因为表格分类器的“初始化”期间表格数据不存在,因为它已经被移出getJSON()函数。 – rekinyz

+0

是的,我也确定重建表格。 – webdeveloper

+0

我试图将数据保存到独立的DOM,仍然无法正常工作。虽然表格会重建,但独立DOM如何?请提供 – rekinyz

回答

1

请提供您的jsFiddle例如,我可以看到你的代码作品在我的演示中:http://jsfiddle.net/c5s5t/1/

+0

我真的应该先在jsfiddle中自己测试一下,它的工作原理!所以别的东西会导致这个问题!不管怎样,谢谢你。 – rekinyz