2011-07-01 18 views
3

我是JS和Mootools的新手,我在使用getSelected()和Mootools 1.3.2時遇到了一個非常有趣的錯誤。 I've looked at other posts that have similar code,但我沒有成功。我使用getSelected嘗試獲取選項的值,出於某種原因,我的瀏覽器根本就沒有調用它。在MooTools中使用getSelected

這裏的HTML

<select id="id_method" name="method"> 
    <option selected="selected" value="">---------</option> 
    <option value="Au">Auction (Best Price Wins)</option> 
    <option value="Fi">Fixed Price</option> 
    <option value="Fr">Free Item/Donation</option> 
    <option value="Mu">Multiple Items and Prices</option> 
    <option value="No">No Price Displayed</option> 
    <option value="Tr">Trade</option> 
</select> 

這裏的JS

window.addEvent('domready', function() { 
    ... 

    $('id_method').addEvent('change', function() { 
     alert(this.getSelected().selection[0].value); 
    }); 
}); 

這是我在投入中的jsfiddle嘗試:http://jsfiddle.net/jNYud/

我知道這可能是一個非常愚蠢的問題,但我感謝一些幫助。謝謝!

回答

3

調用getSelected()的結果返回一個數組,純粹且簡單。所以你只需要看看該數組的第一個元素。因此,更換這一個提醒:

alert(this.getSelected()[0].value); 
+0

我很欣賞的響應,但沒有骰子。當我運行這個時,我只收到一個警報:alert(「work!」);警報($( 'id_method')getSelected()[0]的.text。);警報( 「嗎?」);我嘗試過使用另一個版本的MooTools,但是沒有運氣。 – Temuz

+0

@Rodrigo:什麼?我所做的只是改變你的小提琴來展示我描述的路線。工作得很好:警報顯示我選擇的項目。沒有麻煩,沒有大驚小怪。你的新代碼也可以正常工作。所以我猜你的真實代碼不像小提琴。或者您使用的瀏覽器與我的不同:FF5。 – jmbucknall

+0

@Rodrigo。廢棄後者的想法。你的小提琴加上我的更改在所有主流瀏覽器的最新版本中都可以使用。 – jmbucknall