0

私は次のJavaScriptを持っています。

これを簡単にするために離れていますか。とても重そうですよね?

基本的に12個の入力の値を取り、これらの値に基づいて配列を変更します

   function updatechart (){
    var inputnoinsulation1 = document.getElementById("noinsulation1").value
    var inputnoinsulation2 = document.getElementById("noinsulation2").value
    var inputnoinsulation3 = document.getElementById("noinsulation3").value
    var inputnoinsulation4 = document.getElementById("noinsulation4").value
    var inputnoinsulation5 = document.getElementById("noinsulation5").value
    var inputnoinsulation6 = document.getElementById("noinsulation6").value
    var inputnoinsulation7 = document.getElementById("noinsulation7").value
    var inputnoinsulation8 = document.getElementById("noinsulation8").value
    var inputnoinsulation9 = document.getElementById("noinsulation9").value
    var inputnoinsulation10 = document.getElementById("noinsulation10").value
    var inputnoinsulation11 = document.getElementById("noinsulation11").value
    var inputnoinsulation12 = document.getElementById("noinsulation12").value

    chart1data[0].NoInsulation = (parseInt(inputnoinsulation1));
    chart1data[1].NoInsulation = (parseInt(inputnoinsulation2));
    chart1data[2].NoInsulation = (parseInt(inputnoinsulation3));
    chart1data[3].NoInsulation = (parseInt(inputnoinsulation4));
    chart1data[4].NoInsulation = (parseInt(inputnoinsulation5));
    chart1data[5].NoInsulation = (parseInt(inputnoinsulation6));
    chart1data[6].NoInsulation = (parseInt(inputnoinsulation7));
    chart1data[7].NoInsulation = (parseInt(inputnoinsulation8));
    chart1data[8].NoInsulation = (parseInt(inputnoinsulation9));
    chart1data[9].NoInsulation = (parseInt(inputnoinsulation10));
    chart1data[10].NoInsulation = (parseInt(inputnoinsulation11));
    chart1data[11].NoInsulation = (parseInt(inputnoinsulation12));
4

3 に答える 3

5
for (var i = 0; i < 12; i++)
     chart1data[i].NoInsulation = parseInt(document.getElementById("noinsulation" + (i + 1)).value);

動作するはずです。

于 2013-10-03T10:51:38.073 に答える
0
var i = 0, l = 12;

for (;i<l;++i) {
    var val = window.parseInt(document.getElementById("noinsulation"+ (i+1)).value, 10);
    chart1data[i].NoInsulation = val;
}
于 2013-10-03T10:52:13.790 に答える
0

これを試して:

var index = 0;
while (index < 12) chart1data[index++].NoInsulation =
    parseInt(document.getElementById("noinsulation" + index).value);

さらに、 の 2 番目のパラメータparseInt(基数) を指定することをお勧めします。この場合は何の違いもありませんが、それを行う習慣を身に付ける必要があります。

var index = 0;
while (index < 12) chart1data[index++].NoInsulation =
    parseInt(document.getElementById("noinsulation" + index).value, 10);

お役に立てれば。

于 2013-10-03T10:52:24.637 に答える