asp.net|repeaterで出力したラジオボタンを1つのみ選択する方法

Repeaterの中にラジオボタンを定義して出力すると、下記のように複数選択できてしまいます。

性別(両方選択できてしまいます)男:   女:

原因はRepeaterで出力する際にIDとNAME属性が変わってしまうためです。詳しくはaspnet-repeaterで詳しく扱っています。

1つだけ選択できるようにするには、サーバ処理で変更されてしまったNAME属性を同じにする必要があります。なのでクライアント側のロードイベントでラジオボタンのNAME属性を変更します。

//jQuery
$(document).ready(function () {
  $("#repeater1 input:radio").attr("name", "cap");
});

jQueryを使わない場合は、少し複雑になります。

asp.netのrepeaterで出力したコントロールにjavascriptでアクセスするRepeaterで動的に出力したコントロールにアクセスする方法を紹介しています。


関連記事