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

时间:2017-02-16 23:47:04

标签: javascript jquery bootstrap-tags-input

我正在使用tagsinput bootstrap库并将taginput值存储到变量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('|') );

    });

}

1 个答案:

答案 0 :(得分:1)

试试这个

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

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

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

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

(not supported in IE < edge)

编辑:这是演示文稿的小提琴:https://jsfiddle.net/jakelauer/tfgk87g3/