我的页面上有很多select2
个项目,这些项目都填充了项目。
我从模态中添加新数据,在模态关闭后,我使用新数据重新填充所有select2
。我发现select2
丢失了所选的值!!
这是我使用的代码:
$.get(callPath, { }, function(dataDropDown) {
$('.'+ refInput).each(function(){
$(this).html(dataDropDown);
$(this).trigger("change");
});
// $("'" + refInput + "'").html(dataDropDown);
})
我想重新填充元素而不会丢失所选的值
答案 0 :(得分:1)
$.get(callPath, { }, function(dataDropDown) {
$('.'+ refInput).each(function(){
// get current value:
var selected = $(this).select2('val');
$(this).html(dataDropDown);
$(this).trigger("change");
// set it after repopulate:
$(this).select2('val', selected);
});
})
答案 1 :(得分:0)
您可以在Ajax请求函数中传递选定的值。像这样:
var selectedId = $('#myselect').val();
$.get(callPath, { }, function(dataDropDown, selectedId) {
$('.'+ refInput).each(function(){
$(this).html(dataDropDown);
$(this).trigger("change");
});
$('#myselect').val(selectedId);
// $("'" + refInput + "'").html(dataDropDown);
})