从 HTML 元素中删除值后保留变量值

Keep variable value after removing values from HTML element

我正在使用 tagsinput bootstrap 库并将 tagsinput 值存储到变量 oldListValues 中。在我执行这个方法后

$('#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('|') );

    });

}

试试这个

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

这会将 tagsinput 输出克隆到一个新数组中,而不是使用引用。

根据您的浏览器要求,您也可以这样做:

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

(not supported in IE < edge)

编辑:这里有一个 fiddle 来演示:https://jsfiddle.net/jakelauer/tfgk87g3/