需要:我想将表中的数据转换为逗号分隔值。
问题:一个表格单元格可能有另一个表格。(例如,第 1 行,第 3 单元包含一个表格)该脚本需要为嵌套表格运行并且只捕获该列一次。在这里它捕获了两次“Col 3”。嵌套表的数量未知。它应该是一个通用脚本。
谢谢你。
我的 HTML 文件:
<html>
<head>
<script src="http://code.jquery.com/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="jquery.table2csv.0.1.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery(function() {
jQuery("#tableone").table2csv({
callback: function (csv) {
//alert(csv);
}
});
});
</script>
</head>
<body>
<table id="tableone" style="width:100%;">
<tbody>
<tr>
<td>
<div >
Col 1
</div>
</td>
<td >
<div >
Col 2
</div>
</td>
<td >
<div >
<table >
<tbody>
<tr>
<td >
Col 3
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
<tr >
<td >
<div >
Data in Col 1
</div>
</td>
<td >
<div >
Data in Col 2
</div>
</td>
<td >
<div >
Data in Col 3
</div>
</td>
</tr>
</tbody>
</table>
</body>
</html>
jquery.table2csv.0.1.1.min.js
(function($)
{$.fn.table2csv=function(options)
{
var defaults=
{
delimiter:",",callback:function(csv)
{
return csv;
}
};
var settings=$.extend(defaults,options);
return this.each(function()
{
var name=$(this).find("caption").text();
var csv="";
$(this).find("td").each(function()
{
csv+="\""+$(this).text().replace(/(\")/gim,"\\\"\\\"")+"\""+",";
alert(csv);
})
csv=csv.replace(/\,$/gim,"");
settings.callback(csv,name);
});
}
})(jQuery);