重建时未设置配置选项 - Bootstrap 多选
Configuration Options not set on rebuild - Bootstrap Multiselect
我正在动态添加 select 选项并设置配置选项,然后执行重建。
选项附加得很好,但配置选项集没有得到反映。相同的配置选项在初始加载时设置良好,但在动态附加选项时则不然。
可能是什么问题?
onEvent: function(dt)
{
$.each(dt.lst, function(ind, ele)
{
var htm = '<option value="' + ele + '">' + ele + '</option>';
$('#myMultiSelectId').append(htm);
});
$('#myMultiSelectId').multiselect({
maxHeight: 300,
includeResetOption: true,
resetText: 'Deselect All'
});
$('#myMultiSelectId').multiselect('rebuild');
}
在 Documentation 中有一个示例明确使用 .multiselect('setOptions', options)
与 rebuild
结合用于此目的,因此请尝试下一个代码:
onEvent: function(dt)
{
$.each(dt.lst, function(ind, ele)
{
var htm = '<option value="' + ele + '">' + ele + '</option>';
$('#myMultiSelectId').append(htm);
});
$('#myMultiSelectId').multiselect('setOptions', {
maxHeight: 300,
includeResetOption: true,
resetText: 'Deselect All'
});
$('#myMultiSelectId').multiselect('rebuild');
}
或者,您可以 destroy
多选并重新创建它,如下所示:
onEvent: function(dt)
{
$('#myMultiSelectId').multiselect('destroy');
$.each(dt.lst, function(ind, ele)
{
var htm = '<option value="' + ele + '">' + ele + '</option>';
$('#myMultiSelectId').append(htm);
});
$('#myMultiSelectId').multiselect({
maxHeight: 300,
includeResetOption: true,
resetText: 'Deselect All'
});
}
我正在动态添加 select 选项并设置配置选项,然后执行重建。
选项附加得很好,但配置选项集没有得到反映。相同的配置选项在初始加载时设置良好,但在动态附加选项时则不然。
可能是什么问题?
onEvent: function(dt)
{
$.each(dt.lst, function(ind, ele)
{
var htm = '<option value="' + ele + '">' + ele + '</option>';
$('#myMultiSelectId').append(htm);
});
$('#myMultiSelectId').multiselect({
maxHeight: 300,
includeResetOption: true,
resetText: 'Deselect All'
});
$('#myMultiSelectId').multiselect('rebuild');
}
在 Documentation 中有一个示例明确使用 .multiselect('setOptions', options)
与 rebuild
结合用于此目的,因此请尝试下一个代码:
onEvent: function(dt)
{
$.each(dt.lst, function(ind, ele)
{
var htm = '<option value="' + ele + '">' + ele + '</option>';
$('#myMultiSelectId').append(htm);
});
$('#myMultiSelectId').multiselect('setOptions', {
maxHeight: 300,
includeResetOption: true,
resetText: 'Deselect All'
});
$('#myMultiSelectId').multiselect('rebuild');
}
或者,您可以 destroy
多选并重新创建它,如下所示:
onEvent: function(dt)
{
$('#myMultiSelectId').multiselect('destroy');
$.each(dt.lst, function(ind, ele)
{
var htm = '<option value="' + ele + '">' + ele + '</option>';
$('#myMultiSelectId').append(htm);
});
$('#myMultiSelectId').multiselect({
maxHeight: 300,
includeResetOption: true,
resetText: 'Deselect All'
});
}