jspdf-autotables 列出了 select 中的所有选项(而不只是 selected)
jspdf-autotables listing all options within select (instead of just whats selected)
function addWorkDetailsTopdf(pdf){
var tables = document.querySelectorAll('.pbBody, table');
var res = pdf.autoTableHtmlToJson(tables[8]);
pdf.autoTable(res.columns, res.data, {
startY: pdf.autoTableEndPosY()+10,
tableWidth: 'wrap',
styles: {cellPadding: 2},
headerStyles: {rowHeight: 15, fontSize: 8},
bodyStyles: {rowHeight: 12, fontSize: 8, valign: 'middle'}
});
return pdf;
}
pdf 中添加了更多项目,但最终调用了保存。问题是其中一个表格中的下拉列表列出了所有可用项目,而不仅仅是选定的项目。
在清理上面的图像中(或选择了任何其他单个项目)但它列出了所有项目(如上所述)。
为什么会发生这种情况,我该如何解决?
我手动编辑了一些东西,绝对不是一个优雅的解决方案。
select 上方有一个跨度,其中包含 selected 项的值。我手动编辑 res.data
以仅具有我需要的值
function addWorkDetailsTopdf(pdf){
var tables = document.querySelectorAll('.pbBody, table');
var res = pdf.autoTableHtmlToJson(tables[8]);
var serviceType = res.data[0][1];
serviceType = serviceType.substr(0, serviceType.indexOf('--'));
if(serviceType === ""){
serviceType = 'None';
}
res.data[0][1] = serviceType;
pdf.autoTable(res.columns, res.data, {
startY: pdf.autoTableEndPosY()+10,
tableWidth: 'wrap',
styles: {cellPadding: 2},
headerStyles: {rowHeight: 15, fontSize: 8},
bodyStyles: {rowHeight: 12, fontSize: 8, valign: 'middle'}
});
return pdf;
}
我遇到了同样的问题,我只是在插件中添加了一行代码如下:
在函数“parseContentCell”中我添加了:
if (cell.getElementsByTagName('select').length > 0) { return cell.getElementsByTagName('select')[0].options[cell.getElementsByTagName('select')[0].selectedIndex].text}
function addWorkDetailsTopdf(pdf){
var tables = document.querySelectorAll('.pbBody, table');
var res = pdf.autoTableHtmlToJson(tables[8]);
pdf.autoTable(res.columns, res.data, {
startY: pdf.autoTableEndPosY()+10,
tableWidth: 'wrap',
styles: {cellPadding: 2},
headerStyles: {rowHeight: 15, fontSize: 8},
bodyStyles: {rowHeight: 12, fontSize: 8, valign: 'middle'}
});
return pdf;
}
pdf 中添加了更多项目,但最终调用了保存。问题是其中一个表格中的下拉列表列出了所有可用项目,而不仅仅是选定的项目。
在清理上面的图像中(或选择了任何其他单个项目)但它列出了所有项目(如上所述)。
为什么会发生这种情况,我该如何解决?
我手动编辑了一些东西,绝对不是一个优雅的解决方案。
select 上方有一个跨度,其中包含 selected 项的值。我手动编辑 res.data
以仅具有我需要的值
function addWorkDetailsTopdf(pdf){
var tables = document.querySelectorAll('.pbBody, table');
var res = pdf.autoTableHtmlToJson(tables[8]);
var serviceType = res.data[0][1];
serviceType = serviceType.substr(0, serviceType.indexOf('--'));
if(serviceType === ""){
serviceType = 'None';
}
res.data[0][1] = serviceType;
pdf.autoTable(res.columns, res.data, {
startY: pdf.autoTableEndPosY()+10,
tableWidth: 'wrap',
styles: {cellPadding: 2},
headerStyles: {rowHeight: 15, fontSize: 8},
bodyStyles: {rowHeight: 12, fontSize: 8, valign: 'middle'}
});
return pdf;
}
我遇到了同样的问题,我只是在插件中添加了一行代码如下: 在函数“parseContentCell”中我添加了:
if (cell.getElementsByTagName('select').length > 0) { return cell.getElementsByTagName('select')[0].options[cell.getElementsByTagName('select')[0].selectedIndex].text}