0

jQuery 함수 clone()에 문제가 있습니다. 문제는이 메서드의 withDataAndEvents 입력 매개 변수에 있다고 생각합니다.복제 된 자동 완성 입력이 작동하지 않습니다.

처음에는 동적 행이있는 테이블을 코딩하고 있습니다. 첫 번째 행에만 단추를 클릭하면 동적으로 행이 추가됩니다. 첫 번째 행에는 처음에는 많은 입력 필드와 콤보 상자가 포함됩니다. 각 필드는 ajax 호출로 초기화됩니다. 그리고 필드의 각 동작은 행의 전체 필드를 새로 고치기 (필터링)합니다. 또한 입력 필드에 자동 완성 기능을 사용하고 있습니다.

첫 번째 행은 완벽하게 작동합니다. 그러나, 태그를 복제 할 때 :

  1. 내가 첫 번째 행, 미세 복제 및 첫 번째 행 작업에 값을 입력하지 않은 경우 내가 첫 번째 행 필드 년 이후 값이나 값을 입력하면
  2. 나는 복제를 첫 번째 행 필드 만 여전히 작동합니다. 이 경우 콤보 상자 (모든 관련 행 필드에 대한 변경 이벤트가 발생 함)의 값을 변경하려고하면 자동 완성 데이터를 변경할 때 Id를 사용 함에도 불구하고 첫 번째 행의 필드에 영향을줍니다. 필드, 콤보 상자, 테이블 행의 ID는 버튼을 클릭하여 위젯을 복제 할 때 동적으로 만들어집니다.

내가 작성한 코드가 너무 길어서 fiddle을 생성하고 사례를 단순화했으나 여전히 동일한 문제가 있습니다.

은 내가 헛되이 :-( 에 this, this one 또는 this one 같은 찾은 많은 제안 ( data.('autocomplete', null), autocomplete("destroy") ...)

당신이이 문제에 대한 아이디어가 있습니까을? 시도

감사 사전에

+1

참고 : 테스트 예제에는'applyAutoComplete2 ('# myinput2');'(클래스로 선택하는 대신)가 있어야합니다. –

답변

1

테스트의 입력 오류 (id로 새 요소 대신 클래스로 선택)를 제외하고 기본 문제는 DOM에 추가하기 전에 자동 완성을 적용한다는 것입니다.

JSFiddle는 : http://jsfiddle.net/TrueBlueAussie/87jcw1y0/2/

난 그냥이 두 줄의 순서를 반대로 :

$('.body').append(clone); 
applyAutoComplete2('#myinput' + inc); 

원인 ... 일부 플러그인은 DOM 요소와 연결된 스토리지 데이터를 사용하거나 등 조상에 이벤트를 첨부 이들 중 어느 것도 연결이 끊어진 DOM 요소에서 발생할 수 없으므로 먼저 DOM에 연결하십시오.

+0

팁 주셔서 감사. 귀하의 설명은 제 문제에 대한 해결책을 찾는데 도움이되었습니다. 귀하의 제안은 내가 게시 한 경우의 해결책입니다. 그러나, 실제 경우에 콜론 처리 전에 요소에 .autocomplete ("destroy")를 추가했습니다. 난 그것을 복제하기 전에 첫 번째 행에 모든 이벤트를 분리했습니다 지금은 모든 행이 잘 작동 ... 감사합니다 다시 – javaxiss

0

나는 UR이 링크 http://jsfiddle.net/bsarunmca/87jcw1y0/3/

applyAutoComplete1 ('#의 myinput1')이 확인을 요청하는 생각;

$("button").click(function() { 
    inc = inc+1; 
    $('#myinput1').clone().attr('id','myinput'+inc).appendTo('.add-this'); 
    $('#myinput'+inc).val(''); 
    applyAutoComplete2('#myinput'+inc); 

}); 
+0

왜 * 귀하의 변경 문제 (즉, 문제가 해결되었습니다) 설명해야합니다. –

관련 문제