2014-07-14 4 views
0

이 코드가 있습니다라디오 버튼에 이벤트 리스너를 연결합니다

<div class="ui-content"> 
     <ul class="ui-listview"> 
      <li class="li-has-radio"> 
       <label> 
        15 mn 
        <input type="radio" value="15" name="radSize" checked="checked"/> 
       </label> 
      </li> 
      <li class="li-has-radio"> 
       <label> 
        30 mn 
        <input type="radio" value="30" name="radSize"/> 
       </label> 
      </li> 
      <li class="li-has-radio"> 
       <label> 
        45 mn 
        <input type="radio" value="45" name="radSize"/> 
       </label> 
      </li> 

     </ul> 
    </div> 

을 그리고이 같은 각 버튼의 클릭에 대한 이벤트 리스너가있을 때 :

$("#inline_content input[name='radSize']").on('change', function(){ 
alert('You clicked radio!'); 
    var mytime = $('input:radio[name=radSize]:checked').val(); 
    alert($('input:radio[name=radSize]:checked').val()); 
    window.open("categorie.html?temps="+mytime); 
}); 

모든 제외하고 잘 작동 첫 번째 라디오 버튼의 경우 기본적으로 선택되어 있지만 클릭하면 아무 것도 발생하지 않습니다.

어떻게해야합니까? 감사합니다. .

+0

그냥 기본적으로 그것을 선택하지? –

+0

값이 변하지 않기 때문에 그렇습니다. –

+0

이미 선택되어 있고 클릭하면 변경되지 않습니다. 또한 같은 이유로 사용자가 클릭하지 않을 것입니다. – charlietfl

답변

0

선택한 라디오 버튼을 클릭 할 때 변경되지 않는 것이 문제입니다. 나는 변경 대신 click 처리기로 전환하거나 라디오 대신 단추를 사용하는 것을 권장합니다.

물론 버튼을 사용하면 클릭 핸들러가 필요합니다.

지금 상태와 비슷한 상태로 유지하려면 처음 라디오를 선택하지 않은 채로 시작하면 문제가 해결됩니다.

0

를 사용하여 클릭 이벤트 :

$("input[name='radSize']").on('click', function(){ 
alert('You clicked radio!'); 
    var mytime = $('input:radio[name=radSize]:checked').val(); 
    alert($('input:radio[name=radSize]:checked').val()); 
}); 

http://jsfiddle.net/p3C8L/

관련 문제