2017-11-10 8 views
-8

2つのオプションを選択しようとすると、最初のオプションが2回表示されます。ここでJavascriptで複数選択を追加したい

はコードです:

<head> 
    <script type="text/javascript"> 
    function choices() { 
     var y = document.getElementById("s"); 
     var x = document.getElementById("output"); 
     var choice = y.value; 
     for (i = 1; i <= 3; i++) { 
     var current = y[i]; 
     if (current.selected == true) { 
      x.innerHTML += "the language is, " + choice + "<br>"; 
     } 
     } 
    } 

    </script> 
</head> 

<body> 
    <form action=""> 
    <fieldset> 
     <select id="s" multiple="multiple" size="4"> 
     <option>--Choose language--</option> 
     <option value="HTML">HTML</option> 
     <option value="JAVA">JAVA</option> 
     <option value="PHP">PHP</option> 
     </select> 
     <input type="button" value="show" onclick="choices()"> 
    </fieldset> 
    </form> 
    <div id="output"></div> 

</body> 
+0

refere https://stackoverflow.com/questions/2049710/how-to-select-options-in-multiple-select-list-with-jquery –

答えて

1

var choice = y.value;は必要ない...あなたのすべての選択肢を伝えることができるようにするつもりはありません。その変数を印刷するときに残りのコードからわかるように、最初の選択肢だけが含まれています。

代わりにちょうど置き換える:

x.innerHTML += "the language is, " + current.value + "<br>"; 

x.innerHTML += "the language is, " + choice + "<br>"; 

をあなたはすでにそれが選択されているかどうかは、各オプションをチェックするので、各オプションの単純出力値がされています。

乾杯!

4

あなたは

x.innerHTML += "the language is, " + current.value + "<br>"; 

x.innerHTML += "the language is, " + choice + "<br>"; 

を変更した場合、それは動作します。

function choices() { 
 
    var y = document.getElementById("s"); 
 
    var x = document.getElementById("output"); 
 
    var choice = y.value; 
 
    for (i = 1; i <= 3; i++) { 
 
    var current = y[i]; 
 
    if (current.selected == true) { 
 
     x.innerHTML += "the language is, " + current.value + "<br>"; 
 

 
    } 
 
    } 
 
}
<form action=""> 
 
    <fieldset> 
 
    <select id="s" multiple="multiple" size="4"> 
 
     <option>--Choose language--</option> 
 
     <option value="HTML">HTML</option> 
 
     <option value="JAVA">JAVA</option> 
 
     <option value="PHP">PHP</option> 
 
     </select> 
 
    <input type="button" value="show" onclick="choices()"> 
 
    </fieldset> 
 
</form> 
 
<div id="output"></div>

+0

私の回答は機能しませんでしたか?私はこの回答を10分前に他の人よりも書きました。そしてそれは同じですか? –

+1

しかし、多分OPは、もう1つの答えがそれらにもっと多くの情報を提供したと思っているかもしれません。私は彼らのために話すことができません。 –

+1

問題はありません、あなたのupvotesは今彼が受け入れているよりも貴重です。彼はここでの使用に関するいくつかのルールと、なぜ人々がこのような質問に答える貴重な時間を与えているのかを読む必要があります。助けてくれる人がいます。時にはそうではありません。 –

関連する問題