我使用Bootstrap的多选功能,我想通过ajax更新选项。
初始化我的多选框的填充可以这样做:
初始化我的多选框的填充可以这样做:
<select name="model" class="multiselect" multiple="multiple">
<? foreach ($sel_models as $mod) { ?>
<option value="<?= $mod ?>" <?= ($mod == $params['model']) ? 'selected' : '' ?>><?= $mod ?></option>
<? } ?>
</select>
然后在事件发生时,我想通过以下 ajax 更新我的选项列表。
我尝试使用 rebuild 方法,但它在创建后无法触发下拉列表。
$.ajax({
type: 'post',
url: "helper/ajax_search.php",
data: {models: decodeURIComponent(brands)},
dataType: 'json',
success: function(data) {
$('select.multiselect').empty();
$('select.multiselect').append(
$('<option></option>')
.text('alle')
.val('alle')
);
$.each(data, function(index, html) {
$('select.multiselect').append(
$('<option></option>')
.text(html.name)
.val(html.name)
);
});
$('.multiselect').multiselect('rebuild')
},
error: function(error) {
console.log("Error:");
console.log(error);
}
});
使用Firebug我可以看到列表已经生成,但在选择时不会显示。