0

私は、質問ブロックごとに表示されるスコア システムに取り組んでいます。PHP を使用してテーブルからデータを取得し、以下の JavaScript を使用してスコアを計算しています。問題は、各質問ブロックの下にいくつかのスコア ラベルが必要なことです。明らかに、これを機能させるには配列が必要ですが、現在、この行を使用してデータを書き込んでいるdocument.getElementById("score_label[0]").innerHTML=""+current_score.toFixed(1); ため、これは配列の最初のエントリにのみ適用されます。配列全体(score_label[])をループさせ、その値を増やしてコードが読み取られるようにするにはどうすればよいですかdocument.getElementById("score_label[0]").innerHTML=""+current_score.toFixed(1); document.getElementById("score_label[1]").innerHTML=""+current_score.toFixed(1);

これは、必要がある場合にJavaScriptが書き込んでいる要素です
echo "your total score: <span id='score_label[0]' name='score_board['".$score_board."']'></span>";
。関数全体を投稿できますが、ここで問題になっているのは、ほとんどの場合、配列に関する知識が不足していると思います

4

2 に答える 2

1

私があなたの質問を正しく読んでいる場合(current_scoreすべての要素で同じですか???):

for (var i = 0; i < score_label.length; ++i)
    document.getElementById("score_label[" + i + "]").innerHTML=""+current_score.toFixed(1);

フォームのid属性score_label[N]が紛らわしいかもしれないことに注意してください。

于 2012-05-02T12:10:26.710 に答える
0

foreach 関数を使用して、score_label 配列全体をループしてみてください。

JavaScript で PHP 配列をループする必要がある

于 2012-05-02T12:10:16.160 に答える