2013-03-04 69 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]'); 
});