为多个按钮应用1个JavaScript语法
我有一个Javascript代码,可以将表格导出为Excel格式。一张桌子和一个按钮可以很好地工作 JS HTML 但是当我有多个表时,Javascript似乎不起作用! 首先,ID被更改为类,如下代码所示 请帮忙!谢谢 JS HTML 类是javascript中的保留字。将变量名更改为有效的名称,并用逗号分隔多个元素:为多个按钮应用1个JavaScript语法,javascript,html,Javascript,Html,我有一个Javascript代码,可以将表格导出为Excel格式。一张桌子和一个按钮可以很好地工作 JS HTML 但是当我有多个表时,Javascript似乎不起作用! 首先,ID被更改为类,如下代码所示 请帮忙!谢谢 JS HTML 类是javascript中的保留字。将变量名更改为有效的名称,并用逗号分隔多个元素: var $class = $('.dvData, .dvData1'); 这里有一个解决方案,可以让它按您期望的方式工作: HTML: JAVASCRIPT: $(docum
var $class = $('.dvData, .dvData1');
这里有一个解决方案,可以让它按您期望的方式工作:
HTML:
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;
});
});
首先:删除您的var类,并尝试使用selection或其他方法,因为该类已经是保留字,然后执行以下操作:
var selection = $('.dvData, .dvData1');
如果您需要其他信息,请告诉我。使用var class=$'.dvData、.dvData';,以两者为目标。缺少逗号将导致脚本查找嵌套在.dvData中的.dvData元素。为什么要发布与11分钟前发布的@JonathanCrowe完全相同的答案?非常感谢Jonathan Crowe、NietzscheProgrammer和Blex!现在可以了。当我单击第一个按钮时,它生成第一个表,但当我单击第二个按钮时,它也生成第一个表。听起来好像只找头等舱。有什么想法吗?更新了密码。这是一个可以满足您需求的解决方案。重要的一点是能够将按钮点击绑定到一个特定的表上,这在本例中是通过按钮上的数据目标属性完成的。非常感谢你,Jonathan Crowe!是的,数据目标是解决此问题的主要关键。它按预期工作!嗨,乔纳森,同一页,我进入了另一个问题,你能看一下吗。谢谢
<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();" />
var $class = $('.dvData, .dvData1');
<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();" />
$(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;
});
});
var selection = $('.dvData, .dvData1');