当前位置: 首页 > 面试题库 >

Bootstrap Multiselect更新选项列表在流程中

方砚
2023-03-14
问题内容

我使用bootstrap multi-select,我想使用ajax更新流选项

要在init中填充我的多选

<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);
        }
    });

使用萤火虫,我可以看到已生成列表,但选择后不会显示


问题答案:

在文档中,我可以阅读:

.multiselect(’setOptions’,options)用于在初始化multiselect之后更改配置。
与.multiselect(’rebuild’)结合使用时,这可能会很有用。

也许您不能通过最初的方式更改小部件数据。您应该以正确的方式使用setOptionsmethod。

其他:用您的方式,也许您应该考虑销毁小部件.multiselect('destroy')并在以后重新创建它。

评论后更新:

在文档中:(您已链接)

通过以下方式提供用于构建选择选项的数据:

var data = [
    {label: "ACNP", value: "ACNP"},
    {label: "test", value: "test"}
];
$("#multiselect").multiselect('dataprovider', data);

所以: 当您从ajax调用中获取数据时,您必须创建一个对象数组 (这是您想要的select中的选项) ,其格式为

var data = 
[
    {label: 'option1Label', value: 'option1Value'},
    {label: 'option2Label', value: 'option2Value'},
    ...
]

创建对象数组时,只需调用该方法

$("#multiselect").multiselect('dataprovider', data);

数据是您的对象数组。

我希望我很清楚:/



 类似资料:
  • 这看起来应该很简单,但我没有找到任何例子或留档。我有一个看起来像这样的Dynamodb表: 记录1:{姓名、电子邮件、项目[{product}、{item2}、{item3]} 记录2:(姓名、电子邮件、项目[{product}、{item2}、{item3]} 我需要能够更新items元素,即更新记录1中的item1对象。我可以通过硬编码list数组元素使用以下代码来实现这一点,但我不知道如何将

  • 本文向大家介绍sharepoint项目。更新列表项,包括了sharepoint项目。更新列表项的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我正在使用Debezium(0.7.5)MySQL连接器,我试图了解如果我想使用选项更新此配置,那么最好的方法是什么。 假设我创建了一个连接器,如下所示: 过了一段时间(2周),我需要将一个新表()添加到这个选项中(而且这个表是一个旧表,它是在连接器之前创建的) 我尝试的是: 暂停连接器。 删除了历史主题(也许这就是问题所在?)。 通过API update config Endpoint更新了配置

  • 问题内容: 在我们的数据库中,有一个用创建的表。现在,我们使用此表创建了一个视图。我们想为此视图添加聚簇索引。 创建聚簇索引时,它会显示一个错误,例如无法创建索引,因为此特定表的ANSI_NULL已关闭。 该表包含大量数据。因此,我想将此选项更改为ON,而不会丢失任何数据。 有什么方法可以更改表来修改此选项。请提出您的建议。 问题答案: 这是交叉发布在数据库管理员上的,所以我也可以在这里发布我的答

  • 有一个可选的可选列表,比如: 如何遍历打印字符串的和? 有一个可选的可选流怎么样? 更新:感谢您的答案,optionalStream(非嵌套)的解决方案:

  • 13.3.1.更新首选项 在将用户的位置信息广播出去之前,我们需要事先征得用户本人的同意。这不只是个人偏好,更牵涉到个人隐私。首选项就是询问用户本人意愿的一个好地方。在这里,我们可以使用ListPreference。它可以提供一列选项,同时为每个选项对应一个值。 为此我们在strings.xml中添加两列string资源:一列给用户看,表示选项的正文;一列表示每一选项对应的值。修改后的string