2016-08-24 4 views
-1

私はJavaScriptを初心者です。私は、少ないコードを書くことで、私の仕事を容易にしようとしているので、私はこれをコード化された..私は、例えばグローバルVARSを設定している。この前ループ専用ループ一回js

for (counta = 0; counta < 22; counta++) 
{ 
    window["varEnemyType1" + counta] = document.getElementById("EnemyType1" + counta).options[document.getElementById("EnemyType1" + counta).selectedIndex].text; 
    window["varEnemyType2" + counta] = document.getElementById("EnemyType2" + counta).options[document.getElementById("EnemyType2" + counta).selectedIndex].text; 
} 

var varEnemyType11 = "";) 私は 'counta'を持つすべてのヴァースに行ってから、値を割り当てます。

私のトラブルシューティングでは、forのループは「0」とカウントされており、残りの機能は残っていません。何故ですか?

+0

'COUNTAで=== 0 '、それはエラーがスローされますので、それは一度だけループします。おそらく、あなたのページに 'EnemyType10'というidの要素はありませんか? –

+3

お使いのブラウザには、Ctrl + Shift + I(MacではCmd + Shift + I)および/またはF12でアクセスできる*開発ツール*があります。それらはあなたに有用な情報を表示します。 –

+2

HTMLコードも表示してください。そして、この行を修正する( 'var'キーワードを追加する)'(var counta = 0; counta <22; counta ++)のために ' – semanser

答えて

-2

あなたのループは「OK」ですが、あなたはそれが最初の1を超えて取得していない理由です場合伝えるために、例外をキャッチする必要があります。

for (var counta = 0; counta < 22; counta++) 
{ 
    try 
    { 
     window["varEnemyType1" + counta] = document.getElementById("EnemyType1" + counta).options[document.getElementById("EnemyType1" + counta).selectedIndex].text; 
     window["varEnemyType2" + counta] = document.getElementById("EnemyType2" + counta).options[document.getElementById("EnemyType2" + counta).selectedIndex].text; 
    } 
    catch (ex) 
    { 
     //You should be doing this, but you might not know how to get to the console 
     console.log(ex); 

     alert(ex); 
    } 
} 
+0

なぜダウン投票?私の答えは彼のループがうまくいかない理由を発見するのに役立つでしょう。 –

+1

私は彼が自分のループが新しいコードを書くのではなく、開発ツールを開くことによってなぜ機能しないのかを知ることができると思います。 – semanser

+0

おかげでドン、それを知らなかった、私はそれを見てみよう –

0

あなたが例えばCOUNTA宣言でVARを使用する必要があります。

for (var counta = 0; counta < 22; counta++){ 
     //your code...... 
    } 

よろしく