使用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(); }); });