[英]how do i split array by values using javascript
由於我不知道如何提出問題,我將嘗試解釋需要做什么。 程序應該從表數據中獲取所有值,並在提交按鈕時將表數據的值插入到輸入字段中(每個值到一個輸入字段中)乘以插入的數字。 我設法從表數據中獲取值,但不知道如何處理。 這是我為測試創建的代碼。 注意(需要純 javascript)
<html>
<input type="text" class="class1" id="1"></br>
<input type="text" class="class1" id="2"></br>
<input type="text" class="class1" id="3"></br>
<input type="text" class="class1" id="4"></br>
<input type="text" class="class1" id="5"></br>
<table>
<tr>
<td class="class1" id="1">10</td>
</tr>
<tr>
<td class="class1" id="2">20</td>
</tr>
<tr>
<td class="class1" id="3">30</td>
</tr>
<tr>
<td class="class1" id="4">40</td>
</tr>
<tr>
<td class="class1" id="5">50</td>
</tr>
</table>
insert number<input type="text" id="text">
<input type="submit" id="submit">
<script>
var elements = document.getElementsByClassName("class1");
var vrednost = "";
for (i=0; i<elements.length; i++){
vrednost += elements[i].textContent;
}
document.write(vrednost);
</script>
嘗試使用querySelectorAll
有效地完成您的工作,
var tds = document.querySelectorAll("table td.class1");
var inputs = document.querySelectorAll("input[type='text'].class1");
Array.from(inputs).forEach(function(elm, i){
elm.value = tds[i].textContent;
});
使用
data-id
關聯兩個元素,並使用指定data-id
屬性值的querySelector
選擇元素。
永遠記住, ID屬性不能在網頁中重復。
您不能盲目依賴td
和input
元素的position
,因為它們可能不同步。
Array.from()方法從類數組或可迭代對象創建一個新的 Array 實例。
document.getElementById('submit').addEventListener('click', function() { var elements = document.querySelectorAll("td.class1"); //Select all `td` elements having class as `class1` var mul = document.getElementById('text').value; //get multiplication value Array.from(elements).forEach(function(elem) { document.querySelector("input.class1[data-id='" + elem.dataset.id + "']").value = (+elem.textContent * +mul); }); })
<input type="text" class="class1" data-id="1"> </br> <input type="text" class="class1" data-id="2"> </br> <input type="text" class="class1" data-id="3"> </br> <input type="text" class="class1" data-id="4"> </br> <input type="text" class="class1" data-id="5"> </br> <table> <tr> <td class="class1" data-id="1">10</td> </tr> <tr> <td class="class1" data-id="2">20</td> </tr> <tr> <td class="class1" data-id="3">30</td> </tr> <tr> <td class="class1" data-id="4">40</td> </tr> <tr> <td class="class1" data-id="5">50</td> </tr> </table> insert number <input type="text" id="text"> <input type="submit" id="submit">
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.