2013-05-28 5 views
0

셀 테이블에 포함 된 라디오 상자 선택을 전환하려고합니다.라디오 버튼을 한 번만 토글 (새로 고침) 할 수 있습니까?

토글 링은 라디오 버튼 당 한 번만 작동합니다.

모든 라디오 버튼을 사용할 수 없지만 HTML 코드가 올바른 것 같습니다. 속성 checked="checked"이 있습니다.

왜 작동하지 않습니까? 여기

는 내가 jQuery를 사용하고 있습니다 :

$('td').click(function(){ 
    var $elem = $(this).children('input');    
    var name = $elem.attr('name'); 
    $('input[name='+name+']').each(function(){ 
     $(this).removeAttr('checked');     
    }).promise().done(function(){     
     $elem.attr('checked','checked');    
    }); 
}); 

그리고 이미지 :

enter image description here

답변

5

당신은 대신 현재 실제로 removeAttr()를 사용하여 속성을 제거하는 등의 prop()를 사용 할 필요를 그냥 비활성화로 설정하십시오.

$('input[name='+name+']').each(function(){ 
    $(this).prop('checked', false);     
}).promise().done(function(){     
    $elem.prop('checked', true);    
}); 
+0

'prop' 트릭을 할,하지만 난 attr'은 UI를 ?? refrech하지 않는 이유'이해하지 않는다! :

다음은 작동합니다 – sdespont

+0

'removeAttr'이 원인이라고 생각하지 않습니다. 사실,'$ (this) .attr ('checked', false);도 효과가 없습니다. 나는'prop'을 사용해야합니다. 빠른 도움에 감사드립니다. – sdespont

+1

@sdespont'attr ('checked', false)'가 존재하지 않는다고 생각합니다. attr을 사용하여 false로 체크하도록 설정하는 방법은'removeAttr'을 사용하는 것입니다. 그래서 문제는 removeAttr입니다 : – lifetimes

관련 문제