2013-09-06 2 views
1

나는이 이상한 문제가있다. 나는 뭔가를 간과하고 있을지 모르지만, 이것이 나를 미치게 만든다. 내 응용 프로그램에서 사용자가 30 개가 넘는 항목을 선택하는 것을 원하지 않으므로 30 후에 사용자가 추가 라디오 버튼을 클릭하면 그렇게하지 않아도됩니다. I jQuery에 의해 라디오 버튼의 이름을 얻고 그 라디오 버튼의 값을 설정하면jQuery change 라디오 버튼 값 .. 이상한 사람

문제는 해결되지 않는다하지만 동일한 이름을 하드 코딩이라면 그것은

여기

가 Jsfiddle 인 작동 하는가이다 예. http://jsfiddle.net/s7GeZ/2/

HTML :

<span class="radiobut4" > 
    Ignore <input type="radio" value="ignore" name="art_52643" id="52643" > 
    Visible <input type="radio" value="visible" name="art_52643" id="52643" > 
    Invisible <input type="radio" value="invisible" name="art_52643" id="52643"> 
</span> 

자바 스크립트 :

$('input:radio').live("change",function (event){ 
var radioName = $(this).attr("name"); 
    alert(radioName); 
    $("input:radio[name='+radioName+'][value ='ignore']").prop('checked', true); 
    // $("input:radio[name='art_52643'][value ='ignore']").prop('checked', true); 

});

문제를 보려면 마지막 두 줄의 댓글을 달거나 주석 처리를 제거하십시오.

모든 종류의 도움을 주시면 감사하겠습니다.

+0

문제는 아니지만 유효하지 않은 ID를 사용하고 있습니다. 숫자로 시작하거나 동일한 문서 내에서 반복해서는 안됩니다. –

답변

9

일치하지 않는 따옴표 변경 :

$("input:radio[name='+radioName+'][value ='ignore']").prop('checked', true); 

$("input:radio[name='"+radioName+"'][value ='ignore']").prop('checked', true); 

에 선택기에 변수를 연결할합니다.
동일한 이름을 가진 라디오는 그룹이며 한 번에 하나만 확인할 수 있으며 동일한 ID를 가진 라디오는 잘못된 마크 업입니다.

+0

위대한, 고마워. – Zai

+0

위대한, 고마워. –

1

"+ radioName +"이라는 이름의 라디오를 원하는 라디오 이름으로 지정해야합니다. 시도해보십시오.

$("input:radio[name='"+radioName+"'][value ='ignore']").prop('checked', true); 
+0

위대한, 고마워. 둘 다 대답으로 표시 할 수는 없지만 감사합니다. – Zai