2012-03-26 9 views
4

내 페이지에는 세 개의 라디오 버튼이 있으며 <li>을 클릭하면 라디오 버튼을 선택하고 싶습니다. 내 클릭 기능이 작동하지만 클릭하면 라디오가 선택되지 않습니다. 어떻게해야합니까? 내 코드가라디오 버튼 확인 속성

$(document).ready(function() {   
    $('#myContainer li').click(function() { 
     $('#radio1').attr('checked');    
     });  
});  

<div id="myContainer"> 
    <li id="li1"> 
     <input id="radio1" name="RadioGroup" value="val1" type="radio"> 
    val1 
    </li> 
    <li id="li2"> 
     <input id="radio2" name="RadioGroup" value="val2" type="radio"> 
     val2 
    </li> 
    <li id="li3"> 
     <input id="radio3" name="RadioGroup" value="val3" type="radio"> 
     val3 
    </li> 
</div> 

답변

12

입니다. 설정 한 속성 대신 확인 된 속성이 표시됩니다. 대신이 시도 : 그 대신 .attr().prop()을 사용하는 것이 좋습니다 jQuery를 1.6 이후

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

. 값이

$('#myContainer li').click(function() { 
     $('#radio1').attr('checked','checked');    
     }); 

을 시도하거나 당신이 jQuery를 사용하는 경우 prop

$('#myContainer li').click(function() { 
      $('#radio1').prop('checked',true);    
      }); 

DMEO

를 사용하여 1.6 설정하는 inorder를

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

워스에서 그것을 언급하는 것 새로운 jQuery 버전은'.attr()'대신'.prop()'이되어야한다. –

+0

구체적으로''attr ("checked", "checked") 대신'prop ("checked", true) . –

+0

답변을 업데이트했습니다. –

2
$('#radio1').attr('checked')' 

는 당신에게 값을 반환합니다아무리 당신이 ID로 라디오를 확인합니다 클릭하는 li 귀하의 경우 0 = 내 의견


#radio1 더 적절한 행동은

$('#myContainer li').click(function() { 
    $(":input",this).prop('checked',true);    
      }); 

DEMO