使用JavaScript更新表格单元格中的单选按钮

| 我正在尝试使用JavaScript更新由大公司管理的网站上单选按钮的选中状态。这就是问题所在–该页面的两个相关单选按钮具有重复的ID和名称,它们位于未命名表的一行单元格中。我要选择第一个。谢谢你的帮助。 以下是基本的html
<table cellspacing=\'0\' cellpadding=\'0\' border=\'0\'>
    <tr>
        <td>
            <img alt=\'spacer\' src=\'../Images/blank.gif\' width=\'10\' height=\'1\' border=\'0\' />
        </td>
        <td id=\'A-Q1_0200-1\' valign=\'top\'>
            <font size=\'-1\'>
                <input type=\'radio\' name=\'Q1_0200\' id=\'Q1_0200\' value=\'1\' onclick=\'FormChanged()\'
                class=\'bodyInput\' />
            </font>
        </td>
        <td colspan=\'1\' valign=\'top\' id=\'A-Q1_0200-1-T\'>
            <font size=\'-1\'>
                &nbsp;Yes
            </font>
        </td>
        <td>
            <font size=\'-1\'>
                &nbsp;
            </font>
        </td>
        <td id=\'A-Q1_0200-2\' valign=\'top\'>
            <font size=\'-1\'>
                <input type=\'radio\' name=\'Q1_0200\' id=\'Q1_0200\' value=\'2\' checked=\'checked\' onclick=\'FormChanged()\'
                class=\'bodyInput\' />
            </font>
        </td>
        <td colspan=\'1\' valign=\'top\' id=\'A-Q1_0200-2-T\'>
            <font size=\'-1\'>
                &nbsp;No
            </font>
        </td>
    </tr>
</table>
以下是我尝试更新收音机以选择第一个收音机选项的各种javascript示例。
    document.getElementById(\'A-Q1_0200-1\').Q1_0201.checked=\'checked\'; 

    document.getElementById(\'A-Q1_0200-1\').radio[0].checked=TRUE;

    document.getElementById(\'Q1_0200\').checked=TRUE

    document.getElementById(\'Q1_0200\').checked=’TRUE
    
已邀请:
您不能有重复的ID,并且希望
getElementById()
可以正常工作。 ID表示\“ identity \”,并且每个ID必须是唯一的。这就是您的第3个和第4个示例失败的原因。 以下代码将通过其ID选择父对象
<td>
,然后选择第一个后代
input
并设置
checked
属性。
document.getElementById(\'A-Q1_0200-1\').getElementsByTagName(\"input\")[0].checked = \"checked\";
    
getElementById将返回您找到的第一个元素。如果要检查,请执行以下操作:
document.getElementById(\'Q1_0200\').checked = \'checked\';
    
这是JSFiddle演示:这将允许您选择radio类型的第一个元素。 一种方法是使用ѭ8并检查无线电的首次出现,但ID应该是唯一的。似乎无法控制:
var myInput = document.getElementsByTagName(\'input\');

for(var i=0; i<myInput.length; i++){
    if(myInput[i].type == \'radio\'){
         console.log(myInput[i]);
         break;
    }
}
console.log将为您提供以下元素:
<input type=​\"radio\" name=​\"Q1_0200\" id=​\"Q1_0200\" value=​\"1\" onclick=​\"FormChanged()​\" class=​\"bodyInput\">​
然后从那里可以将选定元素的选中设置为true:
myInput[i].checked = true;
myInput[i].checked = \'checked\';
    

要回复问题请先登录注册