2011-08-27 5 views
0

jQuery Mobile 프레임 워크를 사용하여 라디오 필드 세트 복제를 시도했습니다. .live 이벤트를 사용하거나 클론 (true)을 사용합니다.jQuery Radiobox 클론

$(".cloneButton").live('click', function() { 

    $('#fieldSet1').clone().insertBefore('.cloneButton'); 

}); 

그러나이 경우에는 작동하지 않습니다. 복제 된 라디오 버튼은 여전히 ​​원본을 제어합니다.

누구나 jQuery Mobile에 익숙하면 도움을 주셔서 감사합니다. 하지만,와,이 JQuery와 모바일과 아무 상관이 없어, 내가 http://jquerymobile.com/demos/1.0b2/#/demos/1.0b2/docs/forms/radiobuttons/index.html

감사에서 라디오 샘플 코드를했다

크리스

답변

0

http://jsfiddle.net/R65cn/

-

이 예제를 참조하십시오 기본 HTML/Javascript 규칙.

.clone()을 사용하여 요소를 복제하기 때문에 라디오 버튼 (및 기타 요소)의 모든 고유 ID가 복제되어 ID가 중복됩니다. 브라우저는 찾은 첫 번째 ID 만 사용하므로 예제의 동작을 설명합니다.

두 번째 또는 세 번째 라디오 버튼 조합을 클릭하면 브라우저는 id가 "radio-choice-1"인 요소를 검색하고 첫 번째 히트 (id가 라디오 버튼 인 radio-choice-1 "첫 라디오 버튼 조합에서).

코드 작업을 수행하는 유일한 방법은 각 복제 된 요소에 고유 ID를 부여하고 각 고유 레이블의 for 속성 값을 새 고유 ID로 변경하는 것입니다.

+0

감사합니다. 이것은 학교 소년 오류 였지만 그것을 지적 해 주셔서 감사합니다. 나는 ID를 증가시키기위한 코드를 가지고 있지만 for 속성을 간과했다. . '.find ("* [ID]") ATTR ("ID"함수() { \t $ 리턴 (본) .attr ("ID") + elCount; })' 다시 감사 – Chris