gpt4 book ai didi

javascript - 无法让 Bootstrap 多选与 Angular 一起使用

转载 作者:行者123 更新时间:2023-11-28 19:06:18 24 4
gpt4 key购买 nike

我正在尝试让 Bootstrap 多选小部件正常工作。当我对所有选项进行硬编码时,它会起作用,如下所示:

<select id="topic-select" multiple="multiple">
<option val='math'>math</option>
<option val='critical_reading'>critical reading</option>
<option val='writing'>writing</option>
</select>



$("#topic-select").multiselect({
includeSelectAllOption: true,
selectAllText: 'composite score',
allSelectedText: 'composite score',
selectAllNumber: false,
});

但是如果我尝试用 Angular 填充选项,如下所示:

<select id="topic-select" multiple="multiple" ng-option="topic in topicList">
</select>

然后下拉窗口有点错误,并且不显示任何选项。

如果我删除将其变成多选的 JavaScript,那么它会显示所有选项。

我看了一下类似的问题: angularjs-ng-repeat-in-bootstrap-multiselect-dropdown但不可能没有运气。

最佳答案

如果您想要使用 Bootstrap 的功能,那么您实际上并不需要 Bootstrap 多选。您可以在 Angular 中获得相同的功能,方法是在下拉列表中填充选项,然后通过 ng-click 将它们添加到新列表中。

    <span uib-dropdown on-toggle="toggled(open)" auto-close = "outsideClick" >
<a class = "filter-names" href id="simple-dropdown" uib-dropdown-toggle>
My_Dropdown<span ng-repeat="list in generated_list">{{list.genre_name}},</span><b class="caret"></b>
</a>
<ul class="dropdown-menu" uib-dropdown-menu aria-labelledby="simple-dropdown" >
Search: <input type = "text" placeholder = "search in my list" ng-model = "search.name" />
<li ng-repeat="item in list_to_populate | filter:search" ng-class = "{true: 'filter-selected', false: ''}[item.selected == true]" ng-click="addToFilter(item)">
{{item.name}}
</li>
</ul>
</span>

在 Controller 中:

    $scope.addToFilter = function(item) {

if(item.selected == "undefined" || item.selected == false)
{
item.selected = true;
Filters.addToFilters(item);
}
else
{
Filters.removeFromFilters(item);
item.selected = false;
}
}

最后有一个服务“Filters”来存储此列表并调用函数以在任何地方使用它。

关于javascript - 无法让 Bootstrap 多选与 Angular 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31601883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com