Javascript / Jquery只获取已检查的行并将这些行导出为ex​​cel

时间:2017-11-06 21:09:30

标签: javascript jquery html .net excel

我有一个基本的导出功能,但它会导出整个html表。

function Export() {
        var text= "<table><tr>";
        var range; var x= 0;
        tbl= document.getElementById('sum_table');


        for (x = 0; x< tbl.rows.length; x++) {

                text= text+ tbl.rows[x].innerHTML + "</tr>";
        }

        text= text+ "</table>";
        text= text.replace(/<A[^>]*>|<\/A>/g, "");
        text= text.replace(/<img[^>]*>/gi, "");
        text= text.replace(/<input[^>]*>|<\/input>/gi, "");

        var ua = window.navigator.userAgent;
        var msie = ua.indexOf("MSIE ");

        if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./))     
        {
            txtArea1.document.open("txt/html", "replace");
            txtArea1.document.write(text);
            txtArea1.document.close();
            txtArea1.focus();
            doneSA = txtArea1.document.execCommand("SaveAs", true, "demo.xls");
        }
        else             
            sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(text));

        return (doneSA );
    }

我现在正在尝试将for语句更改为仅包含已选中复选框列的行。我应该创建一个隐藏的表吗?如何遍历行并检查已选中的复选框。我尝试了多种方式。

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:0)

尝试检查&#34;已检查&#34;属性:

//inside for loop
$('.rowClassName').each(function(){
    if($('this').prop("checked"))
        text= text+ $(this).html() + "</tr>";
    }
})

http://api.jquery.com/prop/