jquery select2刷新数据
jquery select2 refresh data
我使用 select2
到 select 和 ajax
加载数据,如何在初始 selection 后状态更改时替换旧数据。
我的加载代码:
$('.datetimepicker').on("changeDate", function() {
//refresh selectbox ??
doctor_id = $(".select2-doctors").val();
clinic_id = $(".select2-clinics").val();
date = $('.datetimepicker').datepicker('getFormattedDate');
$.ajax({
url: '/admin/appointments/time_slots',
type: 'GET',
dataType: 'json',
data: {doctor_id: doctor_id, clinic_id: clinic_id, date: date}
})
.done(function(data) {
console.log("success");
console.log(data);
$('.select2-slot').select2({
data: data.slots
});
})
.always(function() {
console.log("complete");
});
});
尝试在更新数据之前清空 select2 选项,这是因为默认情况下它会将数据附加到现有选项。
$('.select2-slot').empty();
$('.select2-slot').select2({
data: data.slots
});
instance && $('.select2').empty();
var instance = $('.select2').select2({
data: data
});
只需调用这个 fun() 函数即可。它会清除里面的所有东西。
一切都记录在案 here。
工作 jsfiddle here
<button onclick="fun()">
Click
</button>
<script>
// create select2 option
$("#example").select2();
// the clearing function
function fun() {
$("#example").select2().val(null).trigger("change");
}
</script>
这对我有用!
$("#example").select2().val(null).trigger("change");
我使用 select2
到 select 和 ajax
加载数据,如何在初始 selection 后状态更改时替换旧数据。
我的加载代码:
$('.datetimepicker').on("changeDate", function() {
//refresh selectbox ??
doctor_id = $(".select2-doctors").val();
clinic_id = $(".select2-clinics").val();
date = $('.datetimepicker').datepicker('getFormattedDate');
$.ajax({
url: '/admin/appointments/time_slots',
type: 'GET',
dataType: 'json',
data: {doctor_id: doctor_id, clinic_id: clinic_id, date: date}
})
.done(function(data) {
console.log("success");
console.log(data);
$('.select2-slot').select2({
data: data.slots
});
})
.always(function() {
console.log("complete");
});
});
尝试在更新数据之前清空 select2 选项,这是因为默认情况下它会将数据附加到现有选项。
$('.select2-slot').empty();
$('.select2-slot').select2({
data: data.slots
});
instance && $('.select2').empty();
var instance = $('.select2').select2({
data: data
});
只需调用这个 fun() 函数即可。它会清除里面的所有东西。 一切都记录在案 here。 工作 jsfiddle here
<button onclick="fun()">
Click
</button>
<script>
// create select2 option
$("#example").select2();
// the clearing function
function fun() {
$("#example").select2().val(null).trigger("change");
}
</script>
这对我有用!
$("#example").select2().val(null).trigger("change");