AngularJS如何使用 jQuery 的选择 2 角

标签: jQuery AngularJS
发布时间: 2017/4/16 13:52:46
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

我试图使用 jQuery (2.2.1) 选择 2 (3.5.2) 与 Angularjs (1.5) 但我有困难的时候抓住选择框中的数据。 我试过ui 选择,我可以检索数据,但会经常浏览器崩溃时搜索,可怕慢和总体不稳定 (5000-10000 项)。 jQuery 选择 2 快速响应,即使有大量的条目,但是我似乎无法获取对象,当我选择一个选项。

<head>
    <script src="~/Scripts/angular.min.js"></script>
    <script src="~/Scripts/CustomScripts/app.js"></script>
    <script src="~/Scripts/jquery-2.2.1.js"></script>
    <script src="~/Scripts/select2.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $(".sel").select2();
        });
    </script>
<head>
<body ng-app="app" ng-controller="MainCtrl">
    <select class="sel" data-ng-model="country.selected" ng-options="country.Name for country in countries | orderBy: 'Name'">
<body>

app.js

var app = angular.module('app', []);

app.controller('MainCtrl', ['$scope', '$http', function ($scope, $http) {

    $scope.country = {};

    $scope.countries = [{
        name: 'Australia',
    }, {
        name: 'United States'
    }, {
        name: 'United Kingdom'
    }];

}]);

有没有办法让这些两种工作很好吗?

解决方法 1:

搜索后如何访问 $scope 函数从 jQuery,我发现使用 angular.element.scope().function(x) 肯让我去成角上的"更改"的事件,通过每个选择 2 元素的键,它可以被篡改。

<script type="text/javascript">
    $(document).ready(function () {
        $(".sel").select2({
            placeholder: "Select a project..."
        })
        .on("change", function (e) { angular.element(document.getElementById("MainCtrl")).scope().testfunction(); });
    });
</script>
官方微信
官方QQ群
31647020