javascript jquery单选按钮单击

时间:2011-02-28 12:58:55

标签: javascript jquery

我有2个单选按钮和jquery正在运行。

<input type="radio" name="lom" value="1" checked> first
<input type="radio" name="lom" value="2"> second

现在,使用按钮我可以设置onClick来运行一个功能。单击其中一个单选按钮时,单选按钮的运行方式是什么?

6 个答案:

答案 0 :(得分:143)

您可以将.change用于您想要的内容

$("input[@name='lom']").change(function(){
    // Do something interesting here
});

从jQuery 1.3开始

你不再需要'@'。正确的选择方式是:

$("input[name='lom']")

答案 1 :(得分:44)

如果你的无线电放在一个id = radioButtonContainerId的容器中,你仍然可以使用onClick,然后检查选择哪一个并相应地运行一些功能:

$('#radioButtonContainerId input:radio').click(function() {
    if ($(this).val() === '1') {
      myFunction();
    } else if ($(this).val() === '2') {
      myOtherFunction();
    } 
  });

答案 2 :(得分:16)

<input type="radio" name="radio" value="creditcard" />
<input type="radio" name="radio" value="cash"/>
<input type="radio" name="radio" value="cheque"/>
<input type="radio" name="radio" value="instore"/>

$("input[name='radio']:checked").val()

答案 3 :(得分:8)

有几种方法可以做到这一点。无论如何,强烈建议在单选按钮周围放置一个容器,但您也可以直接在按钮上放置一个类。使用此HTML:

<ul id="shapeList" class="radioList">
<li><label>Shape:</label></li>
<li><input id="shapeList_0" class="shapeButton" type="radio" value="Circular" name="shapeList" /><label for="shapeList_0">Circular</label></li>
<li><input id="shapeList_1" class="shapeButton" type="radio" value="Rectangular" name="shapeList" /><label for="shapeList_1">Rectangular</label></li>
</ul>

您可以按班级选择:

$(".shapeButton").click(SetShape);

或按容器ID选择:

$("#shapeList").click(SetShape);

在任何一种情况下,单击单选按钮或其标签时都会触发事件,但奇怪的是在后一种情况下(通过“#shapeList”选择),单击标签将触发点击功能两次原因,至少在FireFox中;按班级选择不会那样做。

SetShape是一个函数,如下所示:

function SetShape() {
    var Shape = $('.shapeButton:checked').val();
//dostuff
}

这样,您可以在按钮上添加标签,并且可以在同一页面上有多个单选按钮列表,这些列表可以执行不同的操作。您甚至可以通过在SetShape()中根据按钮的值设置不同的行为,让同一列表中的每个按钮执行不同的操作。

答案 4 :(得分:7)

这应该是好的

$(document).ready(function() {
    $('input:radio').change(function() {
       alert('ole');
    });
});

答案 5 :(得分:3)

限制DOM搜索总是好的。所以最好也使用父级,这样就不会遍历整个DOM。

  

非常快

<div id="radioBtnDiv">
  <input name="myButton" type="radio" class="radioClass" value="manual" checked="checked"/>
 <input name="myButton" type="radio" class="radioClass" value="auto" checked="checked"/>
</div>



 $("input[name='myButton']",$('#radioBtnDiv')).change(
    function(e)
    {
        // your stuffs go here
    });