0

私はこのHTMLコードを持っています:

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

javascriptで値「2」をチェック(チェック)するにはどうすればよいですか? HTMLコードを変更するアクセス権がありません。これは公開Webサイトです。値が「2」のこのラジオへの XPath は次のとおりです。

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

3 に答える 3

1

「HTMLコードを変更するアクセス権がありません」

その場合、JavaScript を使用できます。

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

[0]その名前を持つ最初の要素を選択し、[1]2 番目の要素などを選択します。必要に応じて (複数の要素をターゲットにしたい場合など)、要素リストをループできます。


質問の編集への返信:

「値「2」をチェック (チェック) するにはどうすればよいですか?」

printTemplate という名前の要素が 1 つ以上あり、value=2それらをターゲットにしたい場合は、次を使用できます。

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

jsFiddle.

于 2013-06-12T14:46:44.183 に答える
0

MDN の入力用ドキュメントから

radio : ラジオ ボタン。valueこのアイテムによって送信される値を定義するには、属性を使用する必要があります。属性を使用して、checkedこのアイテムがデフォルトで選択されているかどうかを示します。属性の値が同じnameラジオ ボタンは、同じ「ラジオ ボタン グループ」に属します。グループ内で一度に選択できるラジオ ボタンは 1 つだけです。

したがって、ドキュメントが言うことは、属性を使用したいということです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 に答える