Jquery Mobile - 广播组改变

时间:2011-04-29 11:49:49

标签: jquery jquery-mobile

我确信我错过了一些非常明显的东西,就像我刚接触Jquery一样。我正在使用Jquery Mobile以及以下标记:

<div>
    <input data-theme="c" type="radio" name="radio-choice-1" id="radio-choice-1" value="choice-1" />
    <label for="radio-choice-1">Option 1</label>
</div>
<div>
    <input data-theme="c" type="radio" name="radio-choice-1" id="radio-choice-2" value="choice-2"  />
    <label for="radio-choice-2">Option 2</label>
</div>
<div>
    <input data-theme="c" type="radio" name="radio-choice-1" id="radio-choice-3" value="choice-3"  />
    <label for="radio-choice-3">Option 3</label>
</div>

我正在尝试在值更改时执行操作。

所以我有:

$(":input[@name='radio-choice-1']").change(function() {
        alert('clicked');
});

现在我第一次选择一个选项时,事件不会触发。当我随后更改它(即第2次,第3次等)但不是第一次时,它会触发。我认为这是因为它本身没有“改变”,只是给出了一个值。我试图将其更改为单击,但之后它永远不会触发。

我在这里缺少什么?任何帮助非常感谢。

4 个答案:

答案 0 :(得分:13)

直播示例:http://jsfiddle.net/wWFGf/2/

备用HTML语法:http://jsfiddle.net/wWFGf/3/

$("[name=radio-choice-1]").change(function() {
    alert('Selected: '+$('input[name=radio-choice-1]:checked').val());
});

答案 1 :(得分:4)

我认为这会有所帮助

$(document).ready(function() {

$(":input[@name='radio-choice-1']").live('change mousedown',function(event) { 
        alert('clicked'); 
}); 

});

此处的工作示例http://jsfiddle.net/XVuAs/1/

答案 2 :(得分:1)

$('input[type="radio"]').change( function() {
        alert('clicked');
});

以上代码,测试和工作正常...

答案 3 :(得分:0)

如果您动态加载页面,则可能需要执行以下操作:

$('input[type="radio"]').live('changed' function() {
alert('clicked live');  
});