Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery,为单选按钮设置onClick事件监听器的最佳方法是什么?_Javascript_Jquery - Fatal编程技术网

Javascript 使用jQuery,为单选按钮设置onClick事件监听器的最佳方法是什么?

Javascript 使用jQuery,为单选按钮设置onClick事件监听器的最佳方法是什么?,javascript,jquery,Javascript,Jquery,对于以下HTML: <form name="myForm"> <label>One<input name="area" type="radio" value="S" /></label> <label>Two<input name="area" type="radio" value=&q

对于以下HTML:

<form name="myForm">
    <label>One<input  name="area"  type="radio" value="S"  /></label>
    <label>Two<input name="area"   type="radio" value="R" /></label>
    <label>Three<input name="area"   type="radio" value="O" /></label>
    <label>Four<input name="area" type="radio" value="U" /></label>
</form>

一个
两个
三
四
更改以下JavaScript代码:

$(function() {
     var myForm = document.myForm;
     var radios = myForm.area;
     
     // Loop through radio buttons
     for (var i=0; i<radios.length; i++) {
        if (radios[i].value == "S") {
            radios[i].checked = true;   // Selected when form displays
            radioClicks();   // Execute the function, initial setup
        }
        radios[i].onclick = radioClicks;  // Assign to run when clicked
     }  
 });
$(函数(){
var myForm=document.myForm;
var无线电=myForm.area;
//循环单选按钮

对于(var i=0;i我认为类似的方法应该有效(但未经测试):

我喜欢使用
bind()
而不是直接连接事件处理程序,因为您可以将附加数据传递给事件处理程序(此处未显示,但数据是第三个bind()参数),并且可以轻松解除绑定(并且可以按组绑定和解除绑定——请参阅jQuery文档)

$(function() {
    $('input[@type="radio"]').click(radioClicks);
});
$(function() {

  $("form#myForm input[type='radio']").click( fn );

});

function fn()
{
   //do stuff here
}
$("input[@type='radio']").each(function(i) {
    if (this.val() == 'E') {
        radioClicks();
        this.get().checked = true;
    }
}
$("input[@type='radio']").click(radioClicks);
$(function() {
    $('#myForm :radio').each(function() {
        if ($(this).value == 'S') {
            $(this).attr("checked", true);
            radioClicks();
        }

        $(this).click(radioClicks);
    });
});
$( function() {
    $("input:radio")
        .click(radioClicks)
        .filter("[value='S']")
        .attr("checked", "checked");
});
$(document).ready(function(){
    $("input[name='area']").bind("click", radioClicks);
});

functionradioClicks() {
    alert($(this).val());
}