web-dev-qa-db-ja.com

JQueryでラジオボタンをチェックするにはどうすればいいですか?

ラジオボタンをjQueryでチェックしようとしています。これが私のコードです:

<form>
    <div id='type'>
        <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' /> 
    </div>
</form>

そしてJavaScript

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

動作しません:

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

動作しません:

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

動作しません:

他に考えがありますか?何が足りないの?

803
Alexis

JQueryのバージョンが1.6以上(> =)1.6の場合は、次のようにします。

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

(<)1.6より前のバージョンでは、以下を使用してください。

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

ヒント: ラジオボタンでclick()またはchange()を後で呼び出すこともできます。 詳細についてはコメントを参照してください。

1324
Mike Thomsen

これを試して。

この例では、入力名と値でターゲットにしています

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

知っておくと良いこと:複数単語の値の場合は、アポストロフィのために機能するでしょう。

216

JQuery 1.6に追加されたもう1つの関数prop()は、同じ目的を果たします。

$("#radio_1").prop("checked", true); 
93
Umesh Patil

短くて読みやすいオプション:

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

Trueまたはfalseを返すので、 "if"ステートメントで使用できます。

75
Karbaman

これを試して。

を使ってラジオボタンをチェックするにはこれを使います。

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

または

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

または

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

_ id _ を使ってラジオボタンをチェックするにはこれを使います。

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

または

$('#radio_1').prop('checked','checked');
28
Lakshmana Kumar

$.propの方法が優れています。

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

そして、次のようにテストすることができます。

$(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();
    });        
});
12
Amin Saqi

これを試して:

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

http://jsfiddle.net/nwo706xw/

9
user4457035

あなたがしなければなりません 

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

それがHTMLの属性です

8
JohnP

はい、それは私のために方法のように働きました:

$("#radio_1").attr('checked', 'checked');
5
Anjan Kant

プロパティnameが機能しない場合は、idがまだ存在することを忘れないでください。この答えはあなたがどうやってここでidをターゲットにしたいと思う人々のためのものです。

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

なぜならプロパティnameは私のために働かないからです。 idnameを二重引用符または単一引用符で囲まないでください。

乾杯!

5
Anjana Silva

これはradioボタンです。

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

万が一誰かがjQuery UIの使用中にこれを達成しようとしている場合は、更新された値を反映するためにUIチェックボックスオブジェクトを更新する必要があります。

$("#option2").prop("checked", true); // Check id option2
$("input[name='radio_options']").button("refresh"); // Refresh button set
4
freeworlder
$("input[name=inputname]:radio").click(function() {
    if($(this).attr("value")=="yes") {
        $(".inputclassname").show();
    }
    if($(this).attr("value")=="no") {
        $(".inputclassname").hide();
    }
});
4
Eray

これを試して

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

例でこれを試してください

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="myForm">
<input type="radio" name="radio" value="first"/> 1 <br/>
<input type="radio" name="radio" value="second"/> 2 <br/>
</form>


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

        alert(value);
    })
});
</script>
3
saroj

値を取得:

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

設定値 

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

ラジオボタンをクリックしてadd attrをクリックします。

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

これを試して

$(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
        }
    });
});
2
Jordan Jelinek

関連する例を強化しました。新しい条件を追加したい場合はどうでしょうか。たとえば、PaversとPaving Slabs以外のプロジェクトのStatus値をクリックした後に配色を非表示にしたい場合はどうでしょうか。

例はここにあります:

$(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/ /

2
azim hamdan

私はこのコードを使います:

私は英語がすみません。

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);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<fieldset class="section">
  <legend>Radio buttons</legend>
  <label>
    <input type="radio" id="radio-1" checked>
    Option one is this and that&mdash;be sure to include why it's great
  </label>
  <br>
  <label>
    <input type="radio" id="radio-2">
    Option two can be something else
  </label>
</fieldset>

2
volitilov
function rbcitiSelction(e) {
     debugger
    $('#trpersonalemail').hide();
    $('#trcitiemail').show();
}

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

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

上記の解決策がうまくいかない場合があります、そしてあなたは以下を試すことができます:

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

あなたが試すことができるもう一つの方法は、次のとおりです。

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

私はちょうど同様の問題を抱えている、単純な解決策は単に使用することです:

.click()

Functionを呼び出した後に無線を更新すれば、他の解決策はすべてうまくいきます。

1
user3148673

これを試して 

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

checkedがTrueを返す場合はFalseを返します。

jQuery v1.10.1
1
pst

jquery-1.11.3.jsを使用しました

基本的な有効化と無効化

ヒント1:(ラジオボタンタイプの一般的な無効化と有効化)

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

ヒント2:(prop()またはattr()を使用したIDセレクター)

$("#paytmradio").prop("checked", true);
$("#sbiradio").prop("checked", false);

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

ヒント3:(prop()またはarrt()を使用するクラスセレクター)

$(".paytm").prop("checked", true);
$(".sbi").prop("checked", false);

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

その他のヒント

$("#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

<div class="col-md-6">      
    <label class="control-label" for="paymenttype">Payment Type <span style="color:red">*</span></label>
    <div id="paymenttype" class="form-group" style="padding-top: inherit;">
        <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>
    </div>
</div>
0
venkatSkpi

これほど単純なもののためにjQueryのような大きなライブラリを含めたくない場合は、組み込みのDOMメソッドを使った別の方法があります。

// 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;
<form>
    <div id='type'>
        <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' /> 
    </div>
</form>
0

さらに、要素がチェックされているかどうかを確認できます。

if ($('.myCheckbox').attr('checked'))
{
   //do others stuff
}
else
{
   //do others stuff
}

チェックされていない要素をチェックできます:

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

この方法でチェックを外すこともできます。

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

ラジオボタンをチェックすることができます:

JQueryのバージョンが1.6以上(> =)1.6の場合は、次のようにします。

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

(<)1.6より前のバージョンでは、以下を使用してください。

$("#radio_1").attr('checked', 'checked');
0
Majedur Rahaman

attrは2つの文字列を受け入れます。

正しい方法は次のとおりです。

jQuery("#radio_1").attr('checked', 'true');
0
Iuri Matos

これを試して:

$(document).ready(function(){
  $("#Id").prop("checked", true).checkboxradio('refresh');
});
0
user3721473
$("#radio_1").attr('checked', true);
//or
$("#radio_1").attr('checked', 'checked');
0
dominicbri7

驚くべきことに、最も人気があり広く受け入れられている答えは、コメントにもかかわらず適切なイベントを引き起こすことを無視しています。 必ず .change()を起動してください。そうしないと、すべての "on change"バインディングがこのイベントを無視します。

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

attrは2つの文字列を受け入れます。

正しい方法は次のとおりです。

jQuery("#radio_1").attr('checked', 'true');
0
Koko Monsef