2010-10-06 56 views
1

我的代碼有什麼問題?jquery,選項值

爲什麼我沒有獲得期權價值(在我的樣本 - 1)?

<script type="text/javascript"> 
$(document).ready(function(){ 
    if ($("#number option:selected").length > 0) 
    { 
     alert('selected id:' + $("#number option:selected")); 
    } 
}); 
</script> 
<body> 
<select id = "number" name = "number"> 
    <option value="1">one</option> 
    <option value="2">two</option> 
    <option value="3">three</option> 
</select> 

回答

2

只返回元素。您需要獲取元素的value屬性。

您可以使用jQuery's .val() method來獲取該值。

alert('selected id:' + $("#number option:selected").val()); 

而實際上,你可以在<select>元素本身就打電話.val()不但得不到選擇<option>的。

alert('selected id:' + $("#number").val()); 
3

它不工作,因爲你試圖提醒jQuery對象本身,而不是選擇的值。

而是使用.val()這樣的:

$(document).ready(function(){ 
    alert('selected id:' + $("#numberd").val()); 
}); 

這將讓選擇的價值。如果你想文本(例如,「一個」),然後使用.text(),像這樣:

$(document).ready(function(){ 
    alert('selected id:' + $("#numberd option:selected").text()); 
}); 

第一<option>將始終被選中,如果沒有別的,所以沒有必要在這裏查看比賽的.length