使用javascript调用单选button列表
如何使用javascript调用单选button列表上的onclick?
你如何生成单选button列表? 如果您只是使用HTML:
<input type="radio" onclick="alert('hello');"/>
如果你是通过类似ASP.NET的方式生成的,你可以把它作为属性添加到列表中的每个元素。 您可以在填充列表之后运行此操作,或者如果逐个构build列表,则可以将其内联:
foreach(ListItem RadioButton in RadioButtons){ RadioButton.Attributes.Add("onclick", "alert('hello');"); }
更多信息: http : //www.w3schools.com/jsref/event_onclick.asp
要触发radiobutton上的onClick事件, click()
调用DOM元素上的click()
方法:
document.getElementById("radioButton").click()
使用jquery:
$("#radioButton").click()
AngularJs:
angular.element('#radioButton').trigger('click')
我同意@annakata这个问题需要一些更多的澄清,但这是一个非常非常基本的例子,如何设置单选button的onclick
事件处理程序:
<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的渲染会将各个单选button(ListItems)包含在span标记中,甚至当您使用Attributes将事件分配给跨度时,直接将该客户端事件处理程序分配给列表项目。 将事件分配给RadioButtonList将其分配给它所呈现的表格。
这里的技巧是在aspx页面上添加ListItems,而不是从后面的代码中添加ListItems。 然后,您可以将JavaScript函数分配给onClick属性。 这篇博文; Juri Strumpflohner将客户端事件处理程序附加到单选button列表中解释了这一切。
这只有在事先知道ListItems的情况下才起作用,并且无法帮助RadioButtonList中的项目需要使用后面的代码dynamic添加。
尝试以下解决scheme
HTML:
<div id="variant"> <label><input type="radio" name="toggle" class="radio" value="19,99€"><span>A</span></label> <label><input type="radio" name="toggle" class="radio" value="<<<"><span>B</span></label> <label><input type="radio" name="toggle" class="radio" value="xxx"><span>C</span></label> <p id="price"></p>
JS:
$(document).ready(function () { $('.radio').click(function () { document.getElementById('price').innerHTML = $(this).val(); }); });