- 使用Chosen插件提供的API手动更新选择框。
示例代码:
// 在Ajax成功后,更新选择框
$.ajax({
url: 'your/ajax/url',
success: function(data) {
// 更新选择框
$('#select-box').empty(); // 清空原有的选项
$.each(data, function(index, item) {
$('#select-box').append($('<option>').text(item.name).val(item.id));
});
// 调用Chosen插件API更新选择框
$('#select-box').trigger('chosen:updated');
}
});
- 使用Chosen插件提供的自动化更新机制。
示例代码:
// 初始化选择框和Chosen插件
$('#select-box').chosen();
// 在Ajax成功后设置select_val为选中的值,然后触发更新事件
$.ajax({
url: 'your/ajax/url',
success: function(data) {
// 更新选项和选中的值
var options = [];
var select_val = $('#select-box').val();
$.each(data, function(index, item) {
options.push('<option value="' + item.id + '">' + item.name + '</option>');
if (item.id == select_val) select_val = item.id;
});
// 使用Chosen插件提供的API更新选项和选中的值
$('#select-box').html(options.join('')).trigger('chosen:updated').val(select_val).trigger('chosen:updated');
}
});
通过上述两种方法,可以在Ajax请求成功后自动更新选择框的选项,从而解决Chosen插件根据Ajax结果未更新选择框的问题。