我需要在表中的两个td元素中计算给定的两个数字。
我的桌子看起来像这样:
我需要进行以下计算,并将结果自动计入小时数。
相关的计算在下面找到,并且现在被硬编码到“使用的小时数”列中,因为我不知道如何通过Prognose exp和Prognose mail中的用户输入来执行此操作
var th = document.createElement('th');
th.className = "hours_used";
var text = document.createTextNode("Hours used")
th.appendChild(text);
row.appendChild(th);
var th = document.createElement('th');
th.className = "prognose_eks";
th.id = "digit_fast_header"
var text = document.createTextNode("Prognose exp")
th.appendChild(text);
th.style.display = "none";
row.appendChild(th);
var th = document.createElement('th');
th.className = "prognose_mail";
th.id = "digit_fast_header"
var text = document.createTextNode("Prognose mail")
th.appendChild(text);
th.style.display = "none";
row.appendChild(th);
var td = document.createElement('td');
td.className = "hoursUsed";
td.innerHTML = "<input type='number' disabled='disabled' id='result'>"
tr.appendChild(td);
var td = document.createElement('td');
td.className = "inputEks";
td.id = "inputEks"
td.innerHTML = "<input type='number' class='input1' name = 'inpt[]' >";
tr.appendChild(td);
var td = document.createElement('td');
td.className = "inputMail";
td.id = "inputMail"
td.innerHTML = "<input type='number' class='input2' name = 'inpt[]' >";
tr.appendChild(td);
var GNS_EKS_TIME = 9;
var GNS_MAIL_TIME = 9;
TimeSum = (("#inputEks") / GNS_EKS_TIME) + (("#inputMail") / GNS_MAIL_TIME)
console.log("########### TEST ##############" + parseInt(TimeSum))
alert("Test" + TimeSum)
您需要这些东西1.首先将输入字段保存在变量中2.然后在输入数据更改时使用change或input事件触发代码3.将input.value用作输入文本并进行解析
您不需要对从计算中获得的数字调用parseInt。
// code that creates variables that where not in you snippet
var tr = document.querySelector('tbody tr');
var row = document.querySelector('thead tr');
var th = document.createElement('th');
th.className = "hours_used";
var text = document.createTextNode("Hours used")
th.appendChild(text);
row.appendChild(th);
var th = document.createElement('th');
th.className = "prognose_eks";
th.id = "digit_fast_header"
var text = document.createTextNode("Prognose exp")
th.appendChild(text);
th.style.display = "none";
row.appendChild(th);
var th = document.createElement('th');
th.className = "prognose_mail";
th.id = "digit_fast_header"
var text = document.createTextNode("Prognose mail")
th.appendChild(text);
th.style.display = "none";
row.appendChild(th);
var td = document.createElement('td');
td.className = "hoursUsed";
td.innerHTML = "<input type='number' disabled='disabled' id='result'>"
tr.appendChild(td);
var td = document.createElement('td');
td.className = "inputEks";
td.id = "inputEks"
td.innerHTML = "<input type='number' class='input1' name = 'inpt[]' >";
tr.appendChild(td);
// new line
var inputEks = td.querySelector('input');
var td = document.createElement('td');
td.className = "inputMail";
td.id = "inputMail"
td.innerHTML = "<input type='number' class='input2' name = 'inpt[]' >";
tr.appendChild(td);
// new line
var inputMail = td.querySelector('input');
// new code
inputMail.addEventListener('input', chnage);
inputEks.addEventListener('input', chnage);
function chnage() {
var GNS_EKS_TIME = 9;
var GNS_MAIL_TIME = 9;
TimeSum = (parseInt(inputEks.value, 10) / GNS_EKS_TIME) + (parseInt(inputMail.value, 10) / GNS_MAIL_TIME);
console.log("########### TEST ############## " + TimeSum);
}
<table>
<thead><tr></tr></thead>
<tbody><tr><tr></tbody>
</table>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句