如何使用 Javascript 函数从 id 获取表格单元格中的详细信息

Posted

技术标签:

【中文标题】如何使用 Javascript 函数从 id 获取表格单元格中的详细信息【英文标题】:How I get the details in cells of table from id's using Javascript function 【发布时间】:2021-12-15 05:08:01 【问题描述】:

我有一个这样的下拉列表:

<select id="itemsList" onchange="gettingList()">
    <option>Please select the option</option>
    <option value="50">Soap</option>
    <option value="100">Sugar</option>
    <option value="290">Oil</option>
</select>
<br><br>

我从上面的列表中得到了产品的价格。之后,点击按钮我无法得到结果。

<input type="number" id="price" disabled="">
<br><br>

<input type="number" id="quantity" onChange="calculate()">
<br><br>

<input type="number" id="result">


<button type="button" onclick="addDetails()">Add</button>

表格代码

<table id="myTable" border="1">
  <tr>
    <th>Product Name</th>
    <th>Price</th>
    <th>Quantity</th>
    <th>Amount</th>
  </tr>
</table>
<br>

为此,我正在使用这个脚本。但是我没有得到实际的结果。

<script>
    

    
var getPrice = document.getElementById('itemsList');

function getList () 
    document.getElementById('price').value = getPrice.value;



function calculate () 
    var prc = document.getElementById('price').value;
    var qty = document.getElementById('quantity').value;
    var result = prc * qty;
    document.getElementById('bill').value = result;




function addDetails () 
    var table = document.getElementById("myTable");
    var row = table.insertRow(0);
    var cell1 = row.insertCell(0);
    var cell2 = row.insertCell(1);
    var cell3 = row.insertCell(2);
    var cell4 = row.insertCell(3);
    cell1. = document.getElementById('itemsList').value;
    cell2. = document.getElementById('price').value;
    cell3. = document.getElementById('quantity').value;
    cell4. = document.getElementById('bill').value;


</script>

如何获取表格单元格中的详细信息?喜欢:

【问题讨论】:

cell1. 变量名无效 (.) 并且您的代码中也不存在。你对这些任务的意图是什么? 这是我的任务,我正在努力完成,但目前还做不到。 你应该从修复我指出的语法错误开始。 gettingListgetList 有什么区别? ...我没有看到gettingList 的函数。 【参考方案1】:

[我的]正确的做法:

const 
  myForm  = document.querySelector('#my-form')
, myTable = document.querySelector('#my-table tbody')
  ;
myForm.oninput = e =>
  
  if (myForm.product.value!=='0')
    
    myForm.price.value = myForm.product.value
    myForm.bill.value  = myForm.price.valueAsNumber * myForm.quantity.valueAsNumber 
    
  else
    
    myForm.price.value = ''
    myForm.bill.value  = ''
    
  
myForm.onsubmit = e =>
  
  e.preventDefault() // disable submit

  if (myForm.product.value!=='0')
    
    let row = myTable.insertRow()
    row.insertCell().textContent =  myForm.product.selectedOptions[0].textContent 
    row.insertCell().textContent =  myForm.price.value 
    row.insertCell().textContent =  myForm.quantity.value
    row.insertCell().textContent =  myForm.bill.value

    myForm.product.value  = '0'
    myForm.price.value    = ''
    myForm.quantity.value = '1'
    myForm.bill.value     = ''
    
  
* 
  font-family : Arial, Helvetica, sans-serif;
  font-size   : 14px;

label 
  display : block;
  margin  : .5em 0;

label span 
  font-size : .9em;
  display   : block;

input 
  padding-left: .7em;

table  
  border-collapse : collapse;
  margin          : 2em 1em;
  
thead  
  background-color : lightsteelblue;
  font-weight      : bold;
  
th, td 
  padding    : .2em .8em;
  border     : 1px solid darkblue;
  
td 
  text-align: right;
  
td:nth-of-type(1)
  text-align: left;
  
td:nth-of-type(2)::after,
td:nth-of-type(4)::after 
  content : ' \20a8';
  
<form id="my-form">
  <label>
    <span>Product :</span>
    <select id="product">
      <option value="0" selected disabled>Please select the option</option>
      <option value="50" > Soap  </option>
      <option value="100"> Sugar </option>
      <option value="290"> Oil   </option>
    </select>
  </label>
  <label>
    <span>Price :</span>
    <input type="number" name="price" disabled>
  </label>
  <label>
    <span>Quantity</span>
    <input type="number" name="quantity" value="1" min="1">
  </label>
  <label>
    <span>Amount</span>
    <input type="number" name="bill" disabled>
  </label>
 
  <button type="submit">Add</button>
</form>

<table id="my-table">
  <thead>
    <tr> <th>Product Name</th> <th>Price</th> <th>Quantity</th> <th>Amount</th> </tr>
  </thead>
  <tbody></tbody>
</table>

【讨论】:

以上是关于如何使用 Javascript 函数从 id 获取表格单元格中的详细信息的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 从 Google 日历页面获取事件 ID?

使用 PHP 从 URL 获取 YouTube 视频 ID

javascript一次获取多个id设置一个函数

如何从 url 获取 youtube 视频 ID

如何将id从webmethod中的函数返回到javascript代码

如何从javascript中的url获取id? [复制]