2011-11-14 108 views
0

我在我的html中有一個下拉菜單,我想要的是當菜單改變時,JS函數被稱爲發送選定的值。我現在所擁有的是這樣的:處理DropDown菜單

HTML/PHP:

<select name="selectSquad" class="SquadWeaponSelector" id="selectSquad" onchange="javascript:showWeaponEditorWindow(this.form.selectSquad);"> 
<?PHP 
    $max = $squadNumbers - 1; 
    $i = 0; 
    while($i <= $max){ 
     echo "<option value=\"".$names_split[$i]."\"/>".$names_split[$i]."</option>"; 
     $i++; 
    } 
?> 
</select> 

JavaScript的 - 我希望發生的事情:

function showWeaponEditorWindow(squad){ 
    if(squad == "A PHP Value - Jack"){ 
     alert("jack selected"); 
    } 
} 

我將如何實現這一目標?

回答

1

試試這個, 你需要在你的病情分配squad.value

<select name="selectSquad" class="SquadWeaponSelector" id="selectSquad" onchange="showWeaponEditorWindow(this);"> 


function showWeaponEditorWindow(squad){ 
    if(squad.value == "A PHP Value - Jack"){ 
    alert("jack selected"); 
    } 
} 

更新:

你可以使用selectedIndex獲取所選菜單的rember的菜單指數從0開始;

所以更改squad.value

(squad.selectedIndex == 1) 
+0

很高興看到有人不直接跳到jQuery的一個簡單的JavaScript任務 –

+0

感謝大衛。如果我想使用價值的位置呢? EG:如果squad.position選擇== 1 –

+0

原因是因爲我的下拉菜單是動態的...所以沒有辦法知道那裏會有什麼 –

0

我建議您爲此使用jQuery。你可以寫:

$('#selectSquad').change(function(){ 
    var selectedValue = $(this).val(); 
    // Do anything here with the selectedValue variable 
});