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}