您的问题在以下片段中:
$('#site_id').load(src_url+ " #site_id >*", function(id) {
$('.fa-spin').remove();
$('#site_id_chosen').show();
}).val(id).trigger("chosen:updated");
val(id)
此外,您已经在主ajax中调用了相同的方法。
$('#site_id').val(data.id).trigger("chosen:updated");
在成功加载方法回调中。
). 根据代码,在没有任何html信息的情况下,我假设
负载
幻想会覆盖您选择的元素。这意味着您需要在新元素上重新创建一个新实例,并删除前一个实例。这是以下两个操作:
-
$(“#site_id”)。选择(“销毁”);之前
惯性导航与制导
-
$(“#site_id”)。已选择({…您的选项..})。val(数据id)。触发器(“已选择:已更新”);在成功加载回调中
$.ajax({
type: "POST",
url: dest_url,
data: $(this).serialize(),
dataType: 'json',
success: function (data) {
if ($.isEmptyObject(data.error)) {
listRefresh(data.id);
} else {
console.log(data.error);
}
},
error: function (data) {
}
})
function listRefresh(id) {
$('#site_id_chosen').hide().parent().append('<i class="fa fa-circle-o-notch fa-spin"></i>');
$.ajaxSetup({
header: $('meta[name="_token"]').attr('content')
})
var src_url = location.href + '?sites=' + id;
$.ajax({
url: location.href,
type: 'GET',
cache: false
}).done(function (data) {
$('.panel-heading').load(src_url + " .panel-heading >*");
//
// remove chosen:
//
$("#site_id").chosen("destroy");
$('#site_id').load(src_url + " #site_id >*", function (data) {
//
// next row added
//
$("#site_id").chosen({...your options..}).val(id).trigger("chosen:updated");
$('.fa-spin').remove();
$('#site_id_chosen').show();
}); // USELESS .val(id).trigger("chosen:updated");
}).fail(function () {
$('#site_id').load(location.href + " #site_id >*", function () {
$(this).val('').trigger("chosen:updated");
$('.fa-spin').remove();
$('#site_id_chosen').show();
});
});
}