jQuery로 라디오 버튼을 확인하는 방법은 무엇입니까?


889

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>

그리고 자바 스크립트 :

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

작동하지 않습니다 :

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

작동하지 않습니다 :

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

작동하지 않습니다 :

다른 아이디어가 있습니까? 내가 무엇을 놓치고 있습니까?


1
답변 주셔서 감사합니다! 나는 문제를 발견했다. 실제로 두 가지 첫 번째 방법이 효과가 있습니다. 요점은 jqueryUI를 사용하여 3 개의 라디오 버튼 세트를이 코드가있는 버튼 세트로 변환하는 것입니다. jQuery ( "# type"). buttonset (); 그러나 라디오를 확인하기 전에이 변경을하면 라디오 세트가 끊어졌습니다 (그 이유를 모릅니다). 마지막으로, 라디오를 확인한 후 버튼 셋 통화를 걸면 완벽하게 작동합니다.
Alexis

$ ( "input : radio [value = '2']"). prop ( 'checked', true);를 사용하십시오. 링크 freakyjolly.com/…
코드 스파이

답변:


1469

jQuery 버전이 1.6보다 크거나 같은 경우 (> =) 1.6을 사용하십시오.

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

(<) 1.6 이전 버전의 경우 다음을 사용하십시오.

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

팁 : 나중에 전화 click()하거나 change()라디오 버튼을 눌러도됩니다. 자세한 내용은 의견을 참조하십시오.


80
jQuery 1.9 이상에서는이 솔루션이 작동하지 않습니다. $ ( "# radio_1"). prop ( "checked", true);를 사용하십시오. 대신에.
installero

12
@Installero는 실제로 prep1.6부터 정확하며 1.9부터 필요합니다.
John Dvorak

42
.change()페이지의 다른 이벤트를 트리거하기 위해 끝에 추가 하는 것이 도움이되었습니다 .
Foxinni

13
그것은 그 때문에이 답을 다시 준비하는 것이 현명 수 있습니다 .prop명확하게 정답이고 .attr방법은 jQuery를 <1.6에 대한 메모입니다.
Patrick

22
라디오 그룹의 다른 라디오 버튼을 올바르게 사용하려면$("#radio_1").prop("checked", true).trigger("click");
Paul LeBeau

256

이 시도.

이 예에서는 입력 이름과 값으로 타겟팅하고 있습니다.

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

알아두면 좋은 점 : 여러 단어로 된 값의 경우 아포스트로피 때문에 작동합니다.


5
이것은 아마도 가장 좋은 방법 일 것입니다. 다른 것들은이 기능을 두 번째로 쓸모 없게 만드는 경향이 있습니다. 이것이 예상 한대로 작동합니다
Roy Toledo

선택할 수있는 항목이 하나만 있으므로 $ ( 'input [name = "type"] : checked'). val ()도 좋습니다.
huggie

정교하게 부탁드립니다. 일반적으로 이름과 선택적으로 값으로 속성을 지정하는 라디오 버튼을 확인하는 것이 좋습니다. 이름 속성과 : checked pseudo selector 만 사용 되었으므로이 작업을 수행하려고하는 것이 확실하지 않습니다. 그리고 당신은 val도 검색하고 있습니다. 감사합니다
블라디미르 치치

2
모든 라디오에 "id"를 추가하려고했지만이 방법이 완벽하게 작동했습니다. 그러나 가치가 여러 단어 (예 : "보라색") 인 경우 적절한 따옴표를 포함해야합니다. $("input[name=background][value='color purple']").prop("checked",true);
Tristan Tao

3
선택한 답변보다 훨씬 낫습니다! 정확히 내가 찾던 것. 선택한 답변은 구체적이지만 일반적입니다. 정말 고마워
GarbageGigo

96

jQuery 1.6에 추가 된 동일한 prop () 함수가 하나 더 있습니다.

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

13
(가) attr('checked', true)jQuery를 1.9으로 나를 위해 작동이 중지,이 솔루션입니다!
Pascal

1
prop("checked", true)작동 attr('checked', 'checked')하지 않는 것 같습니다
Tomasz Kuter

@TomaszKuter 필자는 prop ()를 사용하는 것이 좋습니다. DOM 속성이 동작에 영향을 미치는 것이기 때문에이 바이올린 ( jsfiddle.net/KRXeV )에서 attr('checked', 'checked')실제로 이상하게 작동합니다.
jave.web


81

짧고 읽기 쉬운 옵션 :

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

true 또는 false를 반환하므로 "if"문에서 사용할 수 있습니다.


5
감사! 이것이 내가 찾던 것이지만 (FYI) OP는 라디오 버튼을 설정하는 방법을 묻고 값을 얻지 못했습니다. ( "check"라는 단어는 질문을 혼란스럽게 만들었습니다.)
Bampfer

31

이 시도.

값을 사용 하여 라디오 버튼을 확인하려면 이것을 사용하십시오.

$('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');


13

$.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();
    });        
});

9

너가해야되는

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

이것이 HTML 속성입니다


7

재산 name이 작동하지 않으면 id여전히 존재 한다는 것을 잊지 마십시오 . 이 답변은 id여기에서 귀하의 목표를 달성하고자하는 사람들을위한 것입니다 .

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

재산 name이 나를 위해 작동하지 않기 때문에 . 당신이 서라운드하지 않는 확인 idname더블 / 작은 따옴표로.

건배!


7

예, 그것은 나를 위해 방법처럼 작동했습니다.

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

6

이 시도

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

6

놀랍게도 가장 인기 있고 승인 된 답변은 댓글에도 불구하고 적절한 이벤트를 트리거하는 것을 무시합니다. 를 호출해야합니다 .change() . 그렇지 않으면 모든 "변경시"바인딩이이 이벤트를 무시합니다.

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

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

5

가치 얻기 :

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

설정 값 :

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

라디오 버튼 클릭 추가 속성 체크 :

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

5

radio버튼 이라고 말하고 싶으므로 다음 코드로 시도하십시오.

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

5

jQuery UI를 사용하는 동안 누군가가 이것을 달성하려고하는 경우 업데이트 된 값을 반영하기 위해 UI 확인란 객체를 새로 고쳐야합니다.

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

4

이 코드를 사용합니다 :

영어가 유감입니다.

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>


4

예를 들어 이것을보십시오

<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
function rbcitiSelction(e) {
     debugger
    $('#trpersonalemail').hide();
    $('#trcitiemail').show();
}

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

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

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

2
$("#radio_1").attr('checked', true);이 작동하지 않습니다. OP에 의해 언급
JohnP

2
답변에 코드를 설명하고 질문을 읽으십시오 (이것은 시도되었습니다)
SomeKittens

2

Pavers 및 Paving Slabs를 제외한 프로젝트 상태 값을 클릭 한 후 색 구성표를 숨기려면 새 조건을 추가하려는 경우에 대해 개선해야 할 관련 예제가 있습니다.

예를 들면 다음과 같습니다.

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

또한 요소가 확인되었는지 확인할 수 있습니다.

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');

2

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>

2

사용 소품 () mehtod

여기에 이미지 설명을 입력하십시오

소스 링크

<p>
    <h5>Radio Selection</h5>

    <label>
        <input type="radio" name="myRadio" value="1"> Option 1
    </label>
    <label>
        <input type="radio" name="myRadio" value="2"> Option 2
    </label>
    <label>
        <input type="radio" name="myRadio" value="3"> Option 3
    </label>
</p>

<p>
    <button>Check Radio Option 2</button>
</p>


<script>
    $(function () {

        $("button").click(function () {
            $("input:radio[value='2']").prop('checked',true);
        });

    });
</script>

1

이 시도

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

확인 True 되지 않은 경우 반환 반환 하지 않으면False

jQuery v1.10.1

1

때때로 위의 솔루션이 작동하지 않으면 아래에서 시도해 볼 수 있습니다.

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
Uniform 은 양식을 더 예쁘게 만드는 jQuery 플러그인이지만 추가 요소를 추가하여 수행합니다. 확인 된 값을 업데이트 할 때마다 추가 요소 상태가 업데이트되지 않아 보이지 않는 입력이 확인되지 않지만 보이는 배경 요소가 확인됩니다. jQuery.uniform.update()해결책입니다!
Denilson Sá Maia

1

이 시도:

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

checkboxradio플러그인 파일을 포함시키지 않으면 작동하지 않습니다. jQuery의 내장 함수를 사용하여이를 수행 할 수있을 때 의미가 없습니다 (허용 된 답변 참조).
Nathan

1

방금 비슷한 문제가 있습니다. 간단한 해결책은 다음을 사용하는 것입니다.

.click()

함수 호출 후 라디오를 새로 고치면 다른 솔루션이 작동합니다.


1
통화 클릭 때때로 IE9에서 두통
Astolfo Hoscher

1

attr은 두 개의 문자열을 허용합니다.

올바른 방법은 다음과 같습니다.

jQuery("#radio_1").attr('checked', 'true');
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.