javascriptを使用してラジオボタンリストでonclickを呼び出すにはどうすればよいですか?
7 に答える
ラジオボタンリストをどのように生成していますか? HTML のみを使用している場合:
<input type="radio" onclick="alert('hello');"/>
ASP.NET などを介してこれらを生成している場合は、それを属性としてリスト内の各要素に追加できます。リストにデータを入力した後にこれを実行するか、リストを 1 つずつ作成する場合はインライン化できます。
foreach(ListItem RadioButton in RadioButtons){
RadioButton.Attributes.Add("onclick", "alert('hello');");
}
ラジオボタンでonClickイベントをトリガーするclick()
には、DOM要素のメソッドを呼び出します。
document.getElementById("radioButton").click()
jqueryの使用:
$("#radioButton").click()
AngularJs:
angular.element('#radioButton').trigger('click')
onclick
この質問にはもう少し明確にする必要があるという@annakataに同意しますが、ラジオボタンのイベントハンドラーをセットアップする方法の非常に基本的な例を次に示します。
<html>
<head>
<script type="text/javascript">
window.onload = function() {
var ex1 = document.getElementById('example1');
var ex2 = document.getElementById('example2');
var ex3 = document.getElementById('example3');
ex1.onclick = handler;
ex2.onclick = handler;
ex3.onclick = handler;
}
function handler() {
alert('clicked');
}
</script>
</head>
<body>
<input type="radio" name="example1" id="example1" value="Example 1" />
<label for="example1">Example 1</label>
<input type="radio" name="example2" id="example2" value="Example 2" />
<label for="example1">Example 2</label>
<input type="radio" name="example3" id="example3" value="Example 3" />
<label for="example1">Example 3</label>
</body>
</html>
ここでの問題は、RadioButtonList のレンダリングが個々のラジオ ボタン (ListItems) をスパン タグでラップし、属性を使用して直接クライアント側のイベント ハンドラーをリスト項目に割り当てた場合でも、イベントをスパンに割り当てることです。イベントを RadioButtonList に割り当てると、イベントがレンダリングされるテーブルに割り当てられます。
ここでの秘訣は、コード ビハインドからではなく、aspx ページに ListItems を追加することです。次に、JavaScript 関数を onClick プロパティに割り当てることができます。このブログ投稿; Juri Strumpflohner によるクライアント側のイベント ハンドラーをラジオ ボタン リストにアタッチすると、すべてが説明されます。
これは、事前に ListItems がわかっている場合にのみ機能し、コード ビハインドを使用して RadioButtonList 内の項目を動的に追加する必要がある場合には役に立ちません。