html

<table id="myList">
           <thead>
               <tr>
                   <td>Product ID</td>
                   <td>Product Name</td>
                   <td>Quantity</td>
               </tr>
           </thead>
           <tbody>

           </tbody>
       </table>


Java脚本

var tableRef = document.getElementById("myList").getElementsByTagName("tbody")[0];

       var newRow = tableRef.insertRow(tableRef.rows.length);

       var newCell = newRow.insertCell(0);

       var otherCell = newRow.insertCell(2);

       var check;
       var myText = result.text;
       var myTextTwo =  myText.replace(/['"]+/g, '');
       alert(myTextTwo);

       for (var i = 0; i < tableRef.rows.length; i++) {

           if (myTextTwo != tableRef.rows[i].cells[0].innerHTML) {
               check = true
           }
           else if (myTextTwo == tableRef.rows[i].cells[0].innerHTML) {
               tableRef.rows[i].cells[2].innerHTML += 1;
               check = false;
               break;
           }
       }

       if (check) {
           var newText = document.createTextNode(myTextTwo);
           var otherText = document.createTextNode("1");
           newCell.appendChild(newText);
           otherCell.appendChild(otherText);
       }
       else {
           alert("You have scanned this item before.");
       }


我要做的是扫描包含产品ID(例如“ 123”)的QR,然后将产品ID插入“产品ID”列中,我能够做到。

但是,我现在要尝试的是,如果用户扫描包含相同产品ID(例如“ 123”)的QR码,我的代码将能够检测出重复的商品并添加到数量中。

因此,我计划要做的是遍历“产品ID”列,并检查是否存在重复项。如果没有重复,则产品ID的数量为1。

Product ID | Product Name | Quantity
  123      |   Hello      |     1


否则,存在重复项,数量为2。

Product ID | Product Name | Quantity
  123      |   Hello      |     2

最佳答案

你的意思是这样吗?

var tableRef = document.getElementById("myList").getElementsByTagName("tbody")[0];

// save the row number of the existing product
var found = false;
var myText = result.text;
var myTextTwo = myText.replace(/['"]+/g, '');

// search the table for the existing product
for (var i = 0; i < tableRef.rows.length && !found; ++i) {
  // if you found it then
  if (tableRef.rows[i].cells[0].innerHTML == myTextTwo) {
    // update the value
    tableRef.rows[i].cells[2].innerHTML += 1;

    // and say we found it
    found = true;
  }
}

// at this point, if we didn't find anything then add a new row
if (!found) {
  var newRow = tableRef.insertRow(tableRef.rows.length);
  newRow.insertCell(0).innerText = "...";
  newRow.insertCell(0).innerText = "...";
  newRow.insertCell(0).innerText = 1;
}

<table id="myList">
  <thead>
    <tr>
      <td>Product ID</td>
      <td>Product Name</td>
      <td>Quantity</td>
    </tr>
  </thead>
  <tbody>

  </tbody>
</table>

10-04 22:46