2017-02-16 80 views
1

我正在使用tagsinput引導庫並將tagsinput值存儲到變量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