以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  关于table中的radio 选中的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=146843)

--  作者:ap9709130
--  发布时间:2020/3/4 0:55:00
--  关于table中的radio 选中的问题
 老师

我动态生成了一个table中的行, table 中有一个列是 radio ,想单击该行,这个radio 就被选中 . 已经找到行的位置了,但就是不能用JS 操作这个radio 选中,麻烦帮忙看看要怎么操作 ? 代码如下:

  var kcb = document.getElementById(\'kcb\')  table 的 id
    var row = kcb.insertRow(kcb.rows.length);
row1.innerHTML = "<tr><td>"+i+"</td><label><input type=\'radio\' name=\'kc\' id=\'kc" + i + "\' value = \'kc" + i + "\' /></label></tr>"
        row1.onclick = czkc

function czkc(){
     var kcb = document.getElementById(\'kcb\')
     var dw
    for (var i = 1; i < kcb.rows.length; i++){
        if(kcb.rows[i].getAttribute("class")==\'sel\'){        
        alert(i)  \'单击行的位置
           var lol = document.getElementsByTagName("input")[i]
           lol.setAttribute("checked","checked");
      break;
    }
    } 


  alert(i) 是对的,就是那个行的 i, 但是就是不能把 那个单选变成选中. 如果单击input 这个列,就能变成选中.怎么用代码去input 选中 ?

--  作者:有点蓝
--  发布时间:2020/3/4 8:45:00
--  

[此贴子已经被作者于2020/3/4 8:45:41编辑过]

--  作者:有点蓝
--  发布时间:2020/3/4 8:47:00
--  
function czkc(){
     var lol = this.getElementsByTagName("input");
     lol[0].checked = true;
}  

--  作者:ap9709130
--  发布时间:2020/3/4 12:23:00
--  
 老师

这个方法我也试过了,不行. 但也不会报错. 那个单选也没反应.

--  作者:ap9709130
--  发布时间:2020/3/4 12:45:00
--  
老师

请看附件代码效果图,和 两个行的Html. click 事件可以正常触发。但就是不能用代码控制 radio 列。 但是如果你click radio 列,就可以选定。搞了两天,试了好多方法都不行。


图片点击可在新窗口打开查看此主题相关图片如下:@a$k5)w6rs22ql@o4u~l79.png
图片点击可在新窗口打开查看


行的Html

<tr data-key="37340" class="sel"><td>1</td><td>20/2/29</td><td>19/8/25</td><td>0102339609</td><td>60</td><td><label><input type="radio" name="kc" id="kc1" value="kc1"></label></td><td class="mark">14453</td><td class="mark">260</td><td class="mark">20KG/箱</td></tr>

--  作者:有点蓝
--  发布时间:2020/3/4 14:15:00
--  
使用开发者工具调试

function czkc(){
console.log(this);
     var lol = this.getElementsByTagName("input");
console.log(lol[0]);
     lol[0].checked = true;
}  


--  作者:ap9709130
--  发布时间:2020/3/4 14:31:00
--  
 老师

我在开发者里改成这个代码?但是也不报错,也没反应。要怎么才知道代码运行到哪一条? 我还真不会用

--  作者:有点蓝
--  发布时间:2020/3/4 14:39:00
--  
不会就学:https://www.baidu.com/s?wd=开发者工具%20调试
--  作者:ap9709130
--  发布时间:2020/3/4 14:55:00
--  
老师

我用alert( lol[0].checked) 但结果是: true .但为什么那行还不是选中的状态?

--  作者:ap9709130
--  发布时间:2020/3/4 15:04:00
--  
 老师

终于搞清楚了。 原来另外一个page 还有 radio. 解决了。多谢老师!