9

我正在尝试在我的 AngularJS 应用程序中实现http://silviomoreto.github.io/bootstrap-select/ 。

大多数尝试做同样事情的人,他们都会遇到在 Angular 获取数据之前设置选择器的任何问题。但对我来说,情况并非如此。当 Select Picker 被触发时,我的选择包含所有数据,但由于某种原因,下拉切换事件没有触发。

HTML:

<select id="partyRole" name="partyRole" class="form-control" ng-model="partyRole" ng-options="role as role.text for role in partyRoles">
    <option value="">Please Select...</option>
</select>

JS 调用将 selectpicker 添加到我的所有选择中。

JS:

$(window).bind("load", function () {
    return $('select').selectpicker();
});

我也在使用这个指令来绑定 selectpicker 数据:

https://github.com/joaoneto/angular-bootstrap-select/blob/master/build/angular-bootstrap-select.js

最终用户界面

最终用户界面

正如您所看到的,div 是从 selectpicker 中创建的,我还获得了所有数据。但是单击按钮什么也不做。

我在带有 Bootstrap 样式表的应用程序中有 Angular UI、Angular JS。

编辑:

没关系,我从 github 下载的 angular 指令的版本可能处于损坏状态,因为在我从今天更新的代码中应用它之后......它起作用了。

4

2 回答 2

2

通常,您不希望在一个文件中有一些 jQuery,而在另一个文件中有一些 AngularJS。如果 jQuery 创建元素等,它们可能不会被 Angular 拾取。

正确的解决方案是使用 Angular 指令。在这里,看起来有人为你做了一个

于 2014-06-21T20:39:22.867 回答
1
function Selectpicker() {
    return {
        restrict: 'C',
        link: function($scope, $element) {
            $element.selectpicker();
        }
    };
}
于 2017-06-15T16:18:30.890 回答