从 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')]
编辑:这里有一个 fiddle 来演示:https://jsfiddle.net/jakelauer/tfgk87g3/
我正在使用 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')]
编辑:这里有一个 fiddle 来演示:https://jsfiddle.net/jakelauer/tfgk87g3/