设置隐藏变量值等于表的整个HTML

时间:2012-02-07 00:20:05

标签: jquery html-table export-to-excel

我正在尝试将动态表的整个HTML发布到另一个页面,该页面将HTML解析为XLS文件。我似乎无法使onClick jQuery正确,因为生成的.XLS文件只包含一个单元格,内容为:[object Object]

onsubmit='$j("#datatodisplay").val( $j("#table1") ).html()'

datatodisplay是隐藏变量的名称/ ID,

table1是表名。

3 个答案:

答案 0 :(得分:3)

html()移到val()函数内:

onsubmit='$j("#datatodisplay").val( $j("#table1").html())'

答案 1 :(得分:1)

看看你的括号。

您在.html()的结果上调用val(),而不是其参数。

答案 2 :(得分:0)

如果您想获取整个表的HTML,那么您需要将其包装在另一个元素中,以便能够使用.html()函数来获取开始和结束<table></table>标记:

$('form').on('submit', function () {
    var $table = $('#table1').wrap('<div />'),
        html   = $table.parent().html();

    $table.unwrap('<div />');

    $('#datatodisplay').val(html);
});

以下是演示:http://jsfiddle.net/JGnh9/

请注意,.on()是jQuery 1.7中的新增内容,在这种情况下与使用.bind()相同。