2017-02-16 7 views
1

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

これはかなりの参照を使用するよりも、新しい配列にtagsinput出力のクローンを作成します。この

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

を試してみてください。

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

(not supported in IE < edge)

編集:

ブラウザの要件に応じて、あなたもこれを行うことがここで実証するためのフィドルがあります:https://jsfiddle.net/jakelauer/tfgk87g3/

+1

おかげジェイク。 $ .extend()メソッドは問題を解決します! –

+0

それを聞いてうれしい!それが問題を解決した場合はチェックマークを押してください:)あなたはStackOverflowの回答を受け入れていないことに気付きました。回答を受け入れなかった場合、人々はあなたの質問に答えることができません。 – Jake

関連する問題