2017-02-16 2 views
1

tagsinput 부트 스트랩 라이브러리를 사용하고 tags 입력 값을 oldListValues ​​변수에 저장했습니다. 이 메서드를 실행 한 후에HTML 요소에서 값을 제거한 후에 변수 값 유지

$('#tagsinput').tagsinput('removeAll'); 

oldListValues ​​변수가 비게됩니다.

이 tagsinput 메서드를 실행 한 후이 요소를 복제 한 다음 복제 된 요소의 값을 사용하는 것보다 변수에 값을 보관할 수있는 방법이 있습니까?

if ($('#tagsinput').tagsinput('items').length > 0) { 

    $('#modal').modal('show'); 

    $('#button').click(function(e) { 

     var oldListValues = $('#tagsinput').tagsinput('items'); 
     var mergedValues = $.merge(oldListValues, distValues); 

     $('#tagsinput').tagsinput('removeAll'); 
     $('#tagsinput').tagsinput('add', mergedValues.join('|')); 

    }); 

} 

답변

1

var oldListValues = $.extend([], $('#tagsinput').tagsinput('items')); 

이 오히려 참조를 사용하는 것보다, 새로운 배열로 tagsinput 출력을 복제해야합니다 시도해보십시오

이것은 내가 사용하고 코드의 일부이다.

브라우저 요구 사항에 따라, 당신은 또한이 작업을 수행 할 수 있습니다 :

var oldListValues = [...$('#tagsinput').tagsinput('items')]

(not supported in IE < edge)

편집 : 여기 입증하는 바이올린는 다음과 같습니다 https://jsfiddle.net/jakelauer/tfgk87g3/

+1

감사 제이크. $ .extend() 메소드는 문제를 해결합니다! –

+0

듣기 좋다! 문제가 해결되면 체크 표시를 누르십시오. 이전에 StackOverflow에 대한 답변을 수락하지 않은 것으로 나타났습니다. 사용자가 답변을 수락하지 않으면 사람들이 답변을하지 못할 수 있습니다. – Jake