[英]Applying 1 JavaScript syntax for Multiple Buttons
I have a Javascript code to export a table to Excel format. 我有一个Java代码将表格导出为Excel格式。 It works fine with 1 table along with 1 button.
它可以与1个表和1个按钮一起工作。
JS JS
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<script type="text/javascript" language="javascript">
function TableToExcel()
{
var id = $('#dvData');
var strCopy = $('<div></div>').html(id.clone()).html(); window.clipboardData.setData("Text", strCopy);
var objExcel = new ActiveXObject("Excel.Application");
objExcel.visible = false; var objWorkbook = objExcel.Workbooks.Add; var objWorksheet = objWorkbook.Worksheets(1); objWorksheet.Paste; objExcel.visible = true;
}
</script>
HTML HTML
<table id="dvData">
<tr>
<th>Billing System</th>
<th>Market Code</th>
<th>Payment Amount</th>
</tr>
<tr>
<td>RED</td>
<td>222</td>
<td>$103.00</td>
</tr>
<tr>
<td>BLUE</td>
<td>111</td>
<td>$13.00</td>
</tr>
<tr>
<td>GREEN</td>
<td>555</td>
<td>$143.00</td>
</tr>
</table>
<br />
<input type="button" id="btnExport" value="Export" onclick="TableToExcel();" />
But when I have more than one tables, it seems like the Javascript doesn't work! 但是,当我有多个表时,似乎Javascript无法正常工作! First, ID is changed to class like the below code.
首先,将ID更改为类似于以下代码的类。
Please help! 请帮忙! Thanks
谢谢
JS JS
<script type="text/javascript" language="javascript">
function TableToExcel()
{
var class = $('.dvData .dvData1');
var strCopy = $('<div></div>').html(class.clone()).html(); window.clipboardData.setData("Text", strCopy);
var objExcel = new ActiveXObject("Excel.Application");
objExcel.visible = false; var objWorkbook = objExcel.Workbooks.Add; var objWorksheet = objWorkbook.Worksheets(1); objWorksheet.Paste; objExcel.visible = true;
}
</script>
HTML HTML
<table class="dvData">
<tr>
<th>Account System</th>
<th>Market Code</th>
<th>Payment Amount</th>
</tr>
<tr>
<td>RED</td>
<td>222</td>
<td>$103.00</td>
</tr>
<tr>
<td>BLUE</td>
<td>111</td>
<td>$13.00</td>
</tr>
<tr>
<td>GREEN</td>
<td>555</td>
<td>$143.00</td>
</tr>
</table>
<br />
<input type="button" id="btnExport" value="Export" onclick="TableToExcel();" />
<table class="dvData1">
<tr>
<th>Billing System</th>
<th>Market Code</th>
<th>Payment Amount</th>
</tr>
<tr>
<td>RED</td>
<td>222</td>
<td>$103.00</td>
</tr>
<tr>
<td>BLUE</td>
<td>111</td>
<td>$13.00</td>
</tr>
<tr>
<td>GREEN</td>
<td>555</td>
<td>$143.00</td>
</tr>
</table>
<br />
<input type="button" id="btnExport" value="Export" onclick="TableToExcel();" />
class
is a reserved word in javascript. class
是javascript中的保留字。 Change the variable name to something valid and select multiple elements by separating them with a comma: 将变量名更改为有效的名称,并用逗号分隔多个元素以选择多个元素:
var $class = $('.dvData, .dvData1');
Here is one solution to get this working the way you expect: 这是使此功能按您期望的方式工作的一种解决方案:
HTML: HTML:
<table class="dvData">
<tr>
<th>Account System</th>
<th>Market Code</th>
<th>Payment Amount</th>
</tr>
<tr>
<td>RED</td>
<td>222</td>
<td>$103.00</td>
</tr>
<tr>
<td>BLUE</td>
<td>111</td>
<td>$13.00</td>
</tr>
<tr>
<td>GREEN</td>
<td>555</td>
<td>$143.00</td>
</tr>
</table>
<br />
<input type="button" class="toExcelButton" data-target="dvData" id="btnExport" value="Export" onclick="TableToExcel();" />
<table class="dvData1">
<tr>
<th>Billing System</th>
<th>Market Code</th>
<th>Payment Amount</th>
</tr>
<tr>
<td>RED</td>
<td>222</td>
<td>$103.00</td>
</tr>
<tr>
<td>BLUE</td>
<td>111</td>
<td>$13.00</td>
</tr>
<tr>
<td>GREEN</td>
<td>555</td>
<td>$143.00</td>
</tr>
</table>
<br />
<input type="button" class="toExcelButton" data-target="dvData1" id="btnExport" value="Export" onclick="TableToExcel();" />
JAVASCRIPT: JAVASCRIPT:
$(document).ready(function() {
$(".toExcelButton").click(function() {
var table = $("." + $(this).data('target'));
var strCopy = $('<div></div>').html(table.clone()).html(); window.clipboardData.setData("Text", strCopy);
var objExcel = new ActiveXObject("Excel.Application");
objExcel.visible = false;
var objWorkbook = objExcel.Workbooks.Add;
var objWorksheet = objWorkbook.Worksheets(1);
objWorksheet.Paste;
objExcel.visible = true;
});
});
first: remove your var class
and try maybe with selection
or something because class
is already a reserved word, then do: 首先:删除您的
var class
然后尝试使用selection
class
方法,因为class
已经是保留字,然后执行以下操作:
var selection = $('.dvData, .dvData1');
if you need something else let me know. 如果您还有其他需要,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.