<input type="radio" name="test"/>
<input type="radio" name="test" id = "input2"/>
(说明:使用的jquery 版本是 1.10.2。)
使用 jquery 的removeAttr(),清除掉 radio 的checked属性后。使用 attr('checked',true)可以给对应的radio 附上 checked属性。但是页面展示,却没有选中。
解决方法:
使用原生js 代码实现。
var inputList = document.getElementByName("test");
for(var x=0;x<inputList.length;x++){
inputList[x].checked=false; //取消选中
}
var input = document.getElementById("input2");
input.checked = true; //选中第二个
测试是可以的。能选中,且页面能显示正确。
另外方法:
jquery1.9以后版本,attr应该不管用了,要用$(this).prop("checked", true);$(this).removeAttr("checked");选中和去除选中
$(".layui-layer-content .mjct_pjd2 .mjct_pjd3 input:radio[name=lc][value='个']").prop("checked", true);
亲测可用。
但是当"个"为变量的是后 arr[4]无法使用,因此改为以下方案,测试可以用
//选择单选框(件,套,个) arr[4]=套 var lc_arr=['件','套','个']; var i for(var x=0;x<lc_arr.length;x++){ if(lc_arr[x]==arr[4]){ i=x; } } $(".layui-layer-content .mjct_pjd2 .mjct_pjd3 input:radio[name=lc]").eq(i).prop("checked", true);