首页 > 解决方案 > JavaScript 获取动态创建的行值

问题描述

我已经看过但没有找到任何让我到达我需要去的地方的例子......

试图从动态创建的表/行中获取值并将这些行值传递给打印标签命令

我现在拥有的

<table class="table table-hover">
    <thead>
      <tr>
        <th>ID</th>
        <th>Part No.</th>
        <th>Cab</th>
        <th>Description</th>
        <th>Copies</th>
        <th>Thickness</th>
        <th>Width</th>
        <th>Mat Type</th>
        <th>Material</th>
        <th>Banding</th>
        <th>Drilling</th>
        <th>File</th>
        <th>Print Label</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>239</td>
        <td>1</td>
        <td>019-09</td>
        <td>Back</td>
        <td>1</td>
        <td>6.2</td>
        <td>474.1</td>
        <td>867.8</td>
        <td>SG</td>
        <td>Birch Plywood</td>
        <td>0-0-0-0</td>
        <td>---</td>
        <td>Laundry</td>
        <td>BUTTON</td>
      </tr>
      <tr>
        <td>240</td>
        <td>1</td>
        <td>019-09</td>
        <td>Deck</td>
        <td>1</td>
        <td>6.2</td>
        <td>474.1</td>
        <td>867.8</td>
        <td>SG</td>
        <td>Birch Plywood</td>
        <td>0-0-0-0</td>
        <td>---</td>
        <td>Laundry</td>
        <td>BUTTON</td>
      </tr>
      <tr>
        <td>241</td>
        <td>1</td>
        <td>019-09</td>
        <td>Back</td>
        <td>1</td>
        <td>6.2</td>
        <td>474.1</td>
        <td>867.8</td>
        <td>SG</td>
        <td>Birch Plywood</td>
        <td>0-0-0-0</td>
        <td>---</td>
        <td>Laundry</td>
        <td><button type="button" class="btn btn-success btn-lg btn-block" onClick="CheckEnv()">BUTTON</button></td>
      </tr>
    </tbody>
  </table>

并且我需要将选定的行值传递给...我在下面使用的原始代码使用 csv 列表传递给打印机我只想传递单行值来打印一个标签

function CheckEnv() {
  df = dymo.label.framework;

  var printers = df.getPrinters();
  if (printers.length == 0) {
    alert("No DYMO printers are installed. Install DYMO printers.");
    return;
  }

  if (!printers[0].isConnected) {
    alert("DYMO printer is not connected.");
    return;
  }

  DoSomethingToPassValues();
}



function GetDYMOPrinters(csvArray) {
  // Get the first printer
  var printer = df.getPrinters()[0].modelName;

  // Load the label layout file
  var currentLoc = window.location.pathname;
  var currentDir = currentLoc.substring(0, currentLoc.lastIndexOf('/'));
  var labelDir = "BoxLabelTemp.label";
  var labelUri = "file:///" + currentDir + labelDir;
  var label = df.openLabelFile(labelUri);

  // For each line in the csv, print a label
  csvArray.forEach(csvLine => {
    PrintLabel(label, csvLine, printer)
  });
}

function PrintLabel(label, labelInfo, printer) {
  // Replace the label objects with the CSV data
  // 0) part_ID 1) Part_No 2) Cabinet 3) Description 4) Copies 5) Thickness 6) Width 7) Length 8) Material_Type 9) Material 10) Banding 11) Drilling 12) Room
  console.log(labelInfo);
  label.setObjectText('DS_PARTNO', labelInfo[1]);
  label.setObjectText('DS_CAB', labelInfo[2]);
  label.setObjectText('DS_DESCRIPTION', labelInfo[3]);
  label.setObjectText('DS_THICKNESS', labelInfo[5]);
  label.setObjectText('DS_WIDTH', labelInfo[6]);
  label.setObjectText('DS_MATERIAL', labelInfo[8]);

  // Set the print options
  var labelXml = label.getLabelXml();
  var printQuality = df.LabelWriterPrintQuality.Auto;
  var paramsXml = df.createLabelWriterPrintParamsXml({ copies: 1, printQuality: printQuality});

  // Print
  df.printLabel(printer, paramsXml, labelXml);
}

谢谢您的帮助

标签: javascript

解决方案


推荐阅读