2016-06-27 4 views
1

내 선택 항목 중 하나에 다중 선택이 있으며 여기에 설명 된대로 설정하면 http://davidstutz.github.io/bootstrap-multiselect/과 같이 잘 작동합니다.부트 스트랩 다중 선택 복제 문제

이 multiselect가 포함 된 jquery clone 메소드를 사용하여 div를 복제합니다.

$("select[id^=Test]").multiselect(); 

복제 후 복제 된 선택 항목은 원래 선택 항목을 참조합니다. 또한 복제 된 선택 항목의 ID를 문제가 아닌 것으로 변경합니다. 재 작성과 같은 다중 선택 방법을 시도했지만 여전히 작동하지 않습니다. 나는이 문제를 보여주기 위해 바이올린을 만들었다. https://jsfiddle.net/zaa35zgt/3

+0

는, 어떤 일이 일어날해야이 같은

뭔가 (약간 바이올린 수정)? 마지막 멀티 선택을 복제해야합니까? – Dylon

+0

예, 다중 선택을 포함하는 div를 복제해야합니다. – forwheeler

답변

0

부트 스트랩 다중 선택은 포함 된 div의 HTML을 변경합니다. 모든 데이터와 이벤트를 복제 할 것이므로 실제로 복제하는 것은 좋지 않습니다. 대신 원본 선택을 복제 한 다음 다중 선택을 적용 할 수 있습니다. 당신은 "복제"버튼을 클릭하면

$("select[id^=Test]").multiselect(); 

$($('[id*="btnClone"]')).on("click", function() { 

    var clonedSelect = $('div[id^="clonedDiv"]').last().find('select').clone(); 

    var newDiv = $('<div></div>').append(clonedSelect); 

    $('div[id^="clonedDiv"]').last().after(newDiv); 

    newDiv.find('select').multiselect(); 

}); 
+0

피들에서 나는 복제 할 선택과 함께 단지 1 div를 가지고 있지만 실제로이 선택을 포함하는 복제 할 다른 html을 가지고 있습니다. 어쩌면이 선택을 제거하고 다시 추가해야합니다. – forwheeler

+0

나는 multiselect 특정 요소를 제거하지만 모든 것을 복제하는 것이 좋습니다. 그런 다음 복제 된 선택 항목에 새로운 다중 선택을 다시 작성하고 연결된 다중 이벤트 및 데이터를 제거하십시오. – Robban

+0

Robban의 제안을 사용하고 다중 선택에 의해 생성 된 복제 된 선택에서 버튼 div를 제거한 다음 다중 선택 방법을 사용하고 다중 선택을 다시 작성하기 위해 파괴하고 다시 작성합니다. 나는 바이올린을 업데이트했다. https://jsfiddle.net/zaa35zgt/5/ – forwheeler