DOMで動的に作成されたhtmlテーブルを作成しました。それは4つの列を持ち、2つの列にはユーザーが値を入力できるテントボックスがあり、最後の列の値として減算されます。 'デルタ' = '前の状態' - '後の状態'。私はそれが入力されたときに値を得ることができるが、計算を行うために他のフィールドの値を取得する方法がわからない。動的に作成されたDOMの値を計算する
HTML
<table id="deptState" border="1">
<tr>
<th>Department</th>
<th>State Before</th>
<th>State After</th>
<th>Delta</th>
</tr>
</table>
JAVASCRIPT
var deptArray = ["Human Resources", "Accounting and Finance", "IT", "Marketing", "Purchasing Department"];
var state = ["stateBefore", "stateAfter", "Delta"];
for(var x=0; x<deptArray.length; x++) {
var html = "<tr>";
html +="<td>"+deptArray[x]+"</td>";
for(var y=0; y<state.length; y++) {
if (state[y] === "stateBefore")
{
html += "<td><input type='text' class='.nrm-text' id='"+deptArray[x]+state[0]+"'></td>";
}else if (state[y] === "stateAfter") {
html += "<td><input type='text' class='.nrm-text' id='"+deptArray[x]+state[1]+"'></td>";
}else if (state[y] === "Delta") {
html += "<td><input type='text' id='"+deptArray[x]+state[2]+"'></td>";
}
}
html += "</tr>";
$("#deptState").append(html);
}
var allTextBoxes = document.querySelector("#deptState");
console.dir(allTextBoxes);
allTextBoxes.addEventListener("change", function(e){
if (e.target.tagName === 'INPUT'){
alert("Value: "+document.getElementById(e.target.id).value);
console.log("Save data to SharePoint list");
}
})
それは表示するように簡単です。
行の1つに「前の状態」に9を、「後に状態」に5を入力します。 'デルタ' は、その後4
http://jsfiddle.net/isogunro/pq4uref9/
あなたは現在の行の値を取得したい[デルタを] 右? –
はい、正しいです。 idの代わりに – JustMe
を使用すると、共通のクラスになります。 –