Sim*_*mon 11 javascript debugging jquery jquery-selectors
我一直试图用jQuery以编程方式选择单选按钮,我认为这就像更改checked属性一样简单.
但是,以下代码似乎没有在Chrome/Firefox中的jQuery 1.9.1中执行预期的操作.
预期的行为:单击包含单选按钮的div - >'checked'属性设置 - >在DOM中检查渲染.
实际行为:单击包含单选按钮的div - >'checked'属性设置 - >在DOM中检查已单击的第一个和第二个按钮,后续按钮不会呈现为已选中状态.
jQuery的:
$('div.form-type-radio').on('click', function () {
var Id = $(this).find('input[type=radio]').attr('id');
$('form input[type=radio]:not(#'+Id+')').removeAttr('checked');
$('#' + Id).attr('checked', 'checked');
console.log($('#' + Id));
});
Run Code Online (Sandbox Code Playgroud)
这是一个jsFiddle - http://jsfiddle.net/GL9gC/
我已经尝试了与以前版本的jQuery相同的代码,它都按预期工作.
dsg*_*fin 22
在这种情况下,您应该使用prop()而不是attr()/removeAttr().
这是一个有效的jsFiddle.
jQuery的:
$('div.form-type-radio').on('click', function () {
var Id = $(this).find('input[type=radio]').prop('id');
$('form input[type=radio]:not(#'+Id+')').prop('checked');
$('#' + Id).prop('checked', 'checked');
console.log($('#' + Id));
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10081 次 |
| 最近记录: |