2013-03-04 72 views
1

我正在使用YUI3和Internet Explorer 8和Firefox。我試圖確定何時單選按鈕改變了選擇。確定單選按鈕選擇與YUI3更改的時間

我的HTML:

<div id="test"> 
    <input name="test1" value="a" type="radio"> 
    <input name="test1" value="b" type="radio"> 
    <input name="test1" value="c" type="radio"> 
</div> 

我的javascript:

YUI().use('event', 'node', function (Y) { 
    Y.one('input[name=test1]').on('change', function (e) { 
      alert('changed'); 
    }); 
}); 

,因爲在頁面加載什麼是單選按鈕組中選擇這不起作用。當我選擇第一項沒有任何反應時,沒有警報彈出。當我點擊第二個按鈕時,它彈出。我如何確定單選按鈕選擇何時發生變化?

另外如何獲得所選單選按鈕的值,我認爲存在IE問題?這種炸彈出來:

var value = Y.one('input[name=test1]:checked').get('value'); 
alert(value); 

這帶回什麼:

var value = Y.all('input[name=test1]:checked').get('value'); 
alert(value); 

回答

2

您可以使用事件代表團聽取了「點擊」事件。如果您不知道代表團是什麼,請查看this short intro。更改事件在舊瀏覽器中存在問題,因此堅持點擊事件。所有你需要做的就是與Y.one得到父元素,併成立了代表團聽衆:

YUI().use('node', function (Y) { 
    Y.one('#test').delegate('click', function (e) { 
    alert(e.target.get('value')); 
    }, 'input[type=radio]'); 
});