单选框radio 选择问题

<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);
 
 
原文地址:https://www.cnblogs.com/raphael1982/p/8026777.html