2011-01-17 11 views
1

私は、次の選択をしている:Jqueryの選択が間違っていますか?

var squad_name= $("#squad option:selected").text(); 

とHTMLが背後にある次のようになります。私はちょうどsquad_name = Choseen隊はユニット0

を選択し、この選択した後、何らかの理由で

<div id="squad"> 
    <label>Squad Type:</label> 
    <select id="choosesquad"> 
     <option value ="0">Choose squad</option> 
    </select> 
    <input id="setsquad" type="button" value="Set"/><br> 

    <div id="unitdiv"> 
    <label>Choose Unit:</label> 
    <select id="chooseunit" class="unit"> 
     <option value ="0">Choose unit</option> 
    </select><br> 
    <label>Number of units:</label> 
    <select id="number" class="unit"> 
     <option value="0">0</option>  
    </select><br> 
</div> 

私が間違ってやっていることは分かりません。あなたは3個の:selected<option>タグ

$("#squad option:selected")#choosesquad#chooseunitからそれぞれ選択したオプションを集約しているとの3個の<select>タグが#squad、内のすべての<option>のタグを選択しているので

+1

何をする予定ですか?それは私には正しかった(それはタイプミスではないように見える以外は、確かに "正方形を選択してくださいunit0"など) –

答えて

0

これが起こっている、と#number

からあなたはこれを使用する必要があります:

var squad_name = $("#choosesquad option:selected").text(); 
+0

ありがとうございました。どうやら私は一時的に盲目でした。答えとして – Pillblast

+0

マーク? – hunter

0

オプションの値を取得するには.text()ではなく.val()を使用する必要があります。選択したすべてのオプションも選択しています。この場合、3の配列が取得されます。

0

$("#squad option:selected")がすべての要素を返すため、その選択項目で.text()を呼び出すと、これらの各要素内のすべてのテキストが返されるためです。別途

var choosesquad = $("#choosesquad").val(); 
var chooseunit= $("#chooseunit").val(); 
var num = $("#number").val(); 
0

あなたはそれぞれの1になります、現在選択されているすべてのoption - タグを、選択されている

コードの下に取得する値はtext()機能は、選択したすべてのノードから内部テキストを収集し、選択します3つのテキストノード「Choseen Squad Choose unit 0」が得られる。

関連する問題