0

我有这个 HTML 代码:

<input type="radio" name="printTemplate" value="5" checked="checked">
<input type="radio" name="printTemplate" value="2">

如何在javascript中检查(勾选)值“2”?我无权更改 html 代码,它是公共网站。这是此收音机的 XPath,值为“2”

//*[@id="frmSubmit"]/table/tbody/tr[4]/td/p[2]/table/tbody/tr/td[1]/input[3]
4

3 回答 3

2

您将添加该checked属性。

<input type="radio" name="printTemplate" value="2" checked>

使用 jQuery,您也可以轻松地按值定位单选按钮

$("input[name=printTemplate][value=2]").prop("checked", true);
于 2013-06-12T14:45:33.340 回答
1

“我无权更改 html 代码”

在这种情况下,您可以使用 JavaScript:

document.getElementsByName('printTemplate')[0].checked = true;

[0]选择具有该名称的第一个元素,[1]第二个,依此类推。如有必要(也许您想定位多个元素),您可以循环遍历元素列表。


回复问题编辑:

“如何使值“2”选中(勾选)?

如果有一个或多个名为 printTemplate 的元素,value=2并且您想要定位它们,您可以使用:

var x = document.getElementsByName('printTemplate');
for(var i = 0; i < x.length; i++) {
    if(x[i].value == 2) x[i].checked = true;
}

js小提琴。

于 2013-06-12T14:46:44.183 回答
0

来自 MDN 的输入文档

radio:一个单选按钮。您必须使用该value属性来定义此项目提交的值。使用checked属性表示是否默认选中此项。具有相同name属性值的单选按钮在同一个“单选按钮组”中;一次只能选择组中的一个单选按钮。

所以文档说,你想使用属性checked

<input type="radio" name="printTemplate" value="2" checked="checked" />

现在用 JavaScript 代码来做这件事,你需要设置 checked 属性

//if you add an id
document.getElementById("foo").checked = true;

//if you only go by name
document.getElementById("frmSubmit").printTemplate[1].checked = true;
于 2013-06-12T14:44:52.150 回答