关于javascript:如何使用jQuery检查单选按钮?

How to check a radio button with jQuery?

我尝试用jQuery检查一个单选按钮。 这是我的代码:

1
2
3
4
5
6
7
<form>
   
        <input type='radio' id='radio_1' name='type' value='1' />
        <input type='radio' id='radio_2' name='type' value='2' />
        <input type='radio' id='radio_3' name='type' value='3' />
   
</form>

和JavaScript:

1
jQuery("#radio_1").attr('checked', true);

不起作用:

1
jQuery("input[value='1']").attr('checked', true);

不起作用:

1
jQuery('input:radio[name="type"]').filter('[value="1"]').attr('checked', true);

不起作用:

你有其他想法吗? 我错过了什么?


对于jQuery等于或大于(> =)1.6的版本,请使用:

1
$("#radio_1").prop("checked", true);

对于(<)1.6之前的版本,请使用:

1
$("#radio_1").attr('checked', 'checked');

提示:您可能还需要在单选按钮上调用click()change()。有关详细信息,请参阅注释


试试这个。

在这个例子中,我用它的输入名称和值来定位它

1
$("input[name=background][value='some value']").prop("checked",true);

很高兴知道:在多字值的情况下,它也会因为撇号而起作用。


在jQuery 1.6中添加的另一个函数prop(),用于相同的目的。

1
$("#radio_1").prop("checked", true);


简短易读的选项:

1
$("#radio_1").is(":checked")

它返回true或false,因此您可以在"if"语句中使用它。


试试这个。

要使用Value检查单选按钮,请使用此选项。

1
$('input[name=type][value=2]').attr('checked', true);

要么

1
$('input[name=type][value=2]').attr('checked', 'checked');

要么

1
$('input[name=type][value=2]').prop('checked', 'checked');

要使用ID检查单选按钮,请使用此选项。

1
$('#radio_1').attr('checked','checked');

要么

1
$('#radio_1').prop('checked','checked');

试试这个:

1
$("input[name=type]").val(['1']);

http://jsfiddle.net/nwo706xw/


$.prop方式更好:

1
2
3
$(document).ready(function () {                            
    $("#radio_1").prop('checked', true);        
});

你可以像下面这样测试它:

1
2
3
4
5
6
7
8
9
10
11
12
$(document).ready(function () {                            
    $("#radio_1, #radio_2","#radio_3").change(function () {
        if ($("#radio_1").is(":checked")) {
            $('#div1').show();
        }
        else if ($("#radio_2").is(":checked")) {
            $('#div2').show();
        }
        else
            $('#div3').show();
    });        
});


你必须做

1
jQuery("#radio_1").attr('checked', 'checked');

这是HTML属性


是的,它对我有用:

1
$("#radio_1").attr('checked', 'checked');


1
2
3
4
5
6
7
8
$("input[name=inputname]:radio").click(function() {
    if($(this).attr("value")=="yes") {
        $(".inputclassname").show();
    }
    if($(this).attr("value")=="no") {
        $(".inputclassname").hide();
    }
});

为了防止任何人在使用jQuery UI时尝试实现此目的,您还需要刷新UI复选框对象以反映更新的值:

1
2
$("#option2").prop("checked", true); // Check id option2
$("input[name='radio_options']").button("refresh"); // Refresh button set

如果property name不起作用,请不要忘记id仍然存在。这个答案适用于那些想要以id为目标的人。

1
$('input[id=element_id][value=element_value]').prop("checked",true);

因为属性name对我不起作用。确保不要用双/单引号括起idname

干杯!


我们应该告诉它是一个radio按钮。所以请尝试使用以下代码。

1
$("input[type='radio'][name='userRadionButtonName']").prop('checked', true);

试试这个

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$(document).ready(function(){
    $("input[name='type']:radio").change(function(){
        if($(this).val() == '1')
        {
          // do something
        }
        else if($(this).val() == '2')
        {
          // do something
        }
        else if($(this).val() == '3')
        {
          // do something
        }
    });
});


试试这个例子吧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
<form id="myForm">
<input type="radio" name="radio" value="first"/> 1 <br/>
<input type="radio" name="radio" value="second"/> 2 <br/>
</form>



$(document).ready(function () {
    $('#myForm').on('click', function () {
        var value = $("[name=radio]:checked").val();

        alert(value);
    })
});

获得价值:

1
$("[name='type'][checked]").attr("value");

设定值:

1
$(this).attr({"checked":true}).prop({"checked":true});

单选按钮单击添加attr已检查:

1
2
3
4
$("[name='type']").click(function(){
  $("[name='type']").removeAttr("checked");
  $(this).attr({"checked":true}).prop({"checked":true});
});

我用这个代码:

我很抱歉英语。

1
2
3
4
5
6
7
8
9
10
11
12
13
var $j = jQuery.noConflict();

$j(function() {
    // add handler
    $j('#radio-1, #radio-2').click(function(){

        // find all checked and cancel checked
        $j('input:radio:checked').prop('checked', false);

        // this radio add cheked
        $j(this).prop('checked', true);
    });
});
1
2
3
4
5
6
7
8
9
10
11
12
13
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
<fieldset class="section">
  <legend>Radio buttons</legend>
  <label>
    <input type="radio" id="radio-1" checked>
    Option one is this and thatbe sure to include why it's great
  </label>
 
  <label>
    <input type="radio" id="radio-2">
    Option two can be something else
  </label>
</fieldset>


试试这个

1
var isChecked = $("#radio_1")[0].checked;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function rbcitiSelction(e) {
     debugger
    $('#trpersonalemail').hide();
    $('#trcitiemail').show();
}

function rbpersSelction(e) {
    var personalEmail = $(e).val();
    $('#trpersonalemail').show();
    $('#trcitiemail').hide();
}

$(function() {  
    $("#citiEmail").prop("checked", true)
});


我有一些相关的例子需要增强,如果我想添加一个新条件怎么样,让我们??说,如果我想在我点击项目状态值除了摊铺机和铺路板之后隐藏颜色方案。

示例在这里:

1
2
3
4
5
6
7
$(function () {
    $('#CostAnalysis input[type=radio]').click(function () {
        var value = $(this).val();

        if (value =="Supply & Lay") {
            $('#ul-suplay').empty();
            $('#ul-suplay').append('<fieldset data-role="controlgroup"> \

http://jsfiddle.net/m7hg2p94/4/


试试这个

1
 $("input:checked","#radioButton").val()

如果选中则返回True
如果未选中则返回False

1
jQuery v1.10.1

我只是有一个类似的问题,一个简单的解决方案就是使用:

1
.click()

如果在调用函数后刷新无线电,任何其他解决方案都将有效


令人惊讶的是,最流行和被接受的答案忽略了引发适当的事件,尽管有评论。确保调用.change(),否则所有"on change"绑定都将忽略此事件。

1
$("#radio_1").prop("checked", true).change();

有些时候上面的解决方案不起作用,那么你可以尝试下面:

1
2
jQuery.uniform.update(jQuery("#yourElementID").attr('checked',true));
jQuery.uniform.update(jQuery("#yourElementID").attr('checked',false));

您可以尝试的另一种方法是:

1
jQuery("input:radio[name=yourElementName]:nth(0)").attr('checked',true);


试试这个:

1
2
3
$(document).ready(function(){
  $("#Id").prop("checked", true).checkboxradio('refresh');
});


我用了jquery-1.11.3.js

基本启用和禁用

Tips 1: (Radio button type common Disable & Enable)

1
2
$("input[type=radio]").attr('disabled', false);
$("input[type=radio]").attr('disabled', true);

Tips 2: ( ID selector Using prop() or attr())

1
2
3
4
5
$("#paytmradio").prop("checked", true);
$("#sbiradio").prop("checked", false);

jQuery("#paytmradio").attr('checked', 'checked'); // or true this won't work
jQuery("#sbiradio").attr('checked', false);

Tips 3: ( Class selector Using prop() or arrt())

1
2
3
4
5
$(".paytm").prop("checked", true);
$(".sbi").prop("checked", false);

jQuery(".paytm").attr('checked', 'checked'); // or true
jQuery(".sbi").attr('checked', false);

OTHER TIPS

1
2
3
4
5
$("#paytmradio").is(":checked")   // Checking is checked or not
$(':radio:not(:checked)').attr('disabled', true); // All not check radio button disabled

$('input[name=payment_type][value=1]').attr('checked', 'checked'); //input type via checked
 $("input:checked","#paytmradio").val() // get the checked value

的index.html

1
2
3
4
    <label class="control-label" for="paymenttype">Payment Type <span style="color:red">*</span></label>
   
        <label class="radio-inline" class="form-control"><input  type="radio" id="paytmradio"  class="paytm" name="paymenttype" value="1" onclick="document.getElementById('paymentFrm').action='paytmTest.php';">PayTM</label>
        <label class="radio-inline" class="form-control"><input  type="radio" id="sbiradio" class="sbi" name="paymenttype" value="2" onclick="document.getElementById('paymentFrm').action='sbiTest.php';">SBI ePAY</label>

attr接受两个字符串。

正确的方法是:

1
jQuery("#radio_1").attr('checked', 'true');

此外,您可以检查元素是否被选中:

1
2
3
4
5
6
7
8
if ($('.myCheckbox').attr('checked'))
{
   //do others stuff
}
else
{
   //do others stuff
}

您可以检查未选中的元素:

1
$('.myCheckbox').attr('checked',true) //Standards way

您也可以取消选中此方式:

1
$('.myCheckbox').removeAttr('checked')

You can checked for radio button:

对于jQuery等于或大于(> =)1.6的版本,请使用:

1
$("#radio_1").prop("checked", true);

对于(<)1.6之前的版本,请使用:

1
$("#radio_1").attr('checked', 'checked');

1
2
3
$("#radio_1").attr('checked', true);
//or
$("#radio_1").attr('checked', 'checked');


如果您不希望像jQuery这样的大型库包含这么简单的东西,这里是使用内置DOM方法的替代解决方案:

1
2
3
4
5
6
7
8
// Check checkbox by id:
document.querySelector('#radio_1').checked = true;

// Check checkbox by value:
document.querySelector('#type > [value="1"]').checked = true;

// If this is the only input with a value of 1 on the page, you can leave out the #type >
document.querySelector('[value="1"]').checked = true;
1
2
3
4
5
6
7
<form>
   
        <input type='radio' id='radio_1' name='type' value='1' />
        <input type='radio' id='radio_2' name='type' value='2' />
        <input type='radio' id='radio_3' name='type' value='3' />
   
</form>