我确信我错过了一些非常明显的东西,就像我刚接触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次等)但不是第一次时,它会触发。我认为这是因为它本身没有“改变”,只是给出了一个值。我试图将其更改为单击,但之后它永远不会触发。
我在这里缺少什么?任何帮助非常感谢。
答案 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');
});