forループで動的入力を作成しています。各入力には、その値が配列の値より大きいかどうかをチェックする独自のonchange
関数があります。 onchange
の各関数では、arrId
変数は常に配列の最後の要素である6
です。ループ内でOnchange関数を作成する
正しいことはありますか?最初の入力を変更するとすれば、arrId
は最後の要素ではなく配列の最初の要素にする必要があります。しかし、arrId
は常に配列の最後の要素です。
var arr = ["22", "12", "15", "6"];
for (var i = 0; i < arr.length; i++) {
var arrId = arr[i];
var input = document.createElement("input");
input.value = 0;
input.type = "number";
input.onchange = function(x) {
console.log(x.target.value + " " + arrId);
if (parseInt(x.target.value) > parseInt(arrId)) {
x.target.value = arrId;
}
}
document.getElementById("inputs").appendChild(input);
}
input {
display: block;
margin: 10px 0;
}
<div id="inputs">
</div>
'VARのarrIdの=のARR [i]の;' – gurvinder372
や 'arrIdは= [i]のARRせ;' arrId = [i]はARRはせ 'へ。 '現在のJavaScriptバージョンでは定義がサポートされないようにしましょう。 ' –
私は 'let'を使用することはできません;' – Eniss