2011-09-14 5 views
0

그래서 양식 행을 복제하는 방법에 대해 여러 게시물을 발견했습니다. 그 일 했어. 또한 텍스트 상자에 자동 완료에 대한 수많은 게시물을 발견했습니다.jQuery - 자동으로 양식 행 복제

함께 작업하려면 두 명이 필요합니다. 기본적으로 팀 구성원에게는 반복 가능한 섹션이 있으며 이름을 완료 할 수 있어야합니다. 문제는 테이블의 첫 번째 원본 행에서만 작동한다는 것입니다.

나를 수행 할 수있는 방법을 설명하는 기사를 안내 해줄 수 있습니까?

답변

1

자동 완성을 위해 행/필드에서 .delegate를 사용하십시오. 컨테이너 ID가없는 경우 컨테이너 ID 또는 "본문"을 사용하여 고정합니다.

참고 : 이것은 UI 자동 완성을위한 플러그인이 아닙니다. 이 한 번만 지정 될 수 있도록 나는 대리자를 사용 - 필요는 컨테이너의 고유 ID에 고정 할 수 있도록, 이러한 .clone (에서 생성 된 것과 같은 새 행)에 추가하지 않으며, 셋째 해당하므로 필요한 경우 연결을 사용할 수 있습니다 (.live는 잘 지원하지 않음). 체인 기능을 사용하여 렌더링을 사용자 정의합니다.

샘플 코드 :

$('#idOfRowsContainer).delegate('.classOfField', 'focusin', function() { 
    $(this).autocomplete({ 
      delay: 1000, 
     // rest of my autocomplete 
    }).data("autocomplete")._renderItem = function(ul, item) { 
       return $("<li></li>") 
      .data("item.autocomplete", item) 
      .append("<a>" + item.Id + " <span class='autoCompCat'>" + item.Category + "</span> <span class='autoCompDesc'>" + item.Description + "</span></a>") 
      .appendTo(ul); 
    }; 
}); 
0

기사에 대해 잘 모르겠지만 jQueryUI의 autocomplete()을 새로운 텍스트 입력으로 호출하면 정상적으로 작동합니다. 행을 복제하면 autocomplete()에 다시 전화 하시겠습니까?

+0

데이브 : 내가 혼란 스러워요 생각 나는 복제 할 때 필드 ID가 동일한 이름을 가진 렌더링 사용자 정의를 위해 체인과 샘플 코드와

$('#idOfRowsContainer).delegate('.classOfField', 'focusin', function() { $(this).autocomplete({ delay: 1000, // rest of my autocomplete }) }); 

추가 예 . 자동 완성을 호출하는 유일한 방법은 필드 ID를 참조하는 것이 었습니다. '$ ("#tm") .autocomplete ({ 소스 : tms }); ' – Zephree

+0

새 ID를 지정하거나 클래스를 사용하십시오. , 또는 새 행 내에서 텍스트 입력을 참조하거나 ... 같은 ID를 가진 DOM 요소가 (기술적으로) 잘못되었습니다. –

+0

요소에 클래스 이름을 부여한 다음 $ (".class") .autocomplete ({source : tms}); ? – Steve