2015-05-07 2 views
0

Я использую JQuery plugin bootstrapCheckboxes. Таким образом, эти флажки создать внутри функции Угловая JS:Почему не работает ng-click в контроллере Angular JS?

$scope.createDropDownList = function (element, data, title) { 
    $(element).dropdownCheckbox({ 
     data: data, 
     autosearch: true, 
     hideHeader: false, 
     showNbSelected: true, 
     templateButton: '<a class="dropdown-checkbox-toggle" data-toggle="dropdown" href="#"><span>' + title + '</span> <span class="dropdown-checkbox-nbselected"></span><b class="caret"></b></button>' 
    }); 
} 

Он работает и на странице появится выпадающий список с флажками -один из них:

<input type="checkbox" required="" value="1" ng-click="selectType(1, $event)"> 

Вы можете увидеть событие ng-click(selectType(1, $event)).

В угловом JS У меня есть этот метод:

$scope.function = selectType(){ 
    alert('done'); 
} 

Но после щелчка я не получаю предупреждение, и другие ошибки в консоли. Что может быть причиной?

+0

Почему вы использовали jquery внутри углового контроллера? –

+1

ваша функция щелчка, это опечатка или вы серьезно сделали эту ошибку в определении функции? –

+0

'$ scope.function = selectType()' Я думаю, что вы повернули эти 2 вокруг, это должно быть '$ scope.selectType = function()' – devqon

ответ

0

Неправильный метод определения события click с помощью Angular.js.

Это что-то вроде ниже В вашем файле js напишите следующую функцию.

function your_controller_name($scope){ 
    $scope.selectType=function(){ 
     alert("done"). 
    } 
} 

Ссылка этот JS файл в HTML-страницы и your_controller_name стоять за то, что вы установили в нг-контроллера.

1

HTML, вы видите <input type="checkbox" required="" value="1" ng-click="selectType(1, $event)"> не скомпилирован с угловым объемом, она порождается (так или иначе) с помощью плагина Jquery, поэтому угловой не знают, что вы поместили ng-click на элементе, поэтому ничего не происходит, когда вы щелкните по нему , Если появится скрипка, я постараюсь предоставить рабочее решение.

+0

Я связал Angular JS library: http://dotansimha.github.io/angularjs-dropdown-multiselect/#/ Но это дает мне ошибки:' _ не определен в ссылке. $ Scope.isChecked' '_ не задано по ссылке. $ scope.getButtonText' – Hamed

+1

В библиотеке есть несколько зависимостей, один из которых - lodash.js (это своего рода оболочка над underscorejs). Я рекомендую вам проверить файл bower, в котором перечислены все необходимые библиотеки (https://github.com/dotansimha/angularjs-dropdown-multiselect/blob/master/bower.json), и убедитесь, что у вас есть зависимости, включенные в ваш проект. – TeoMor

+0

Есть все зависимости, но не работает пользовательский текст – Hamed

Смежные вопросы