为什么不能在控制器Angular JS中单击??

时间:2015-05-07 10:17:03

标签: jquery angularjs angular-ui-bootstrap

我使用Jquery插件bootstrapCheckboxes。所以,我在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))

在Angular JS,我有这个方法:

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

但点击后我没有在控制台中收到警报消息和其他错误。 可能导致什么?

2 个答案:

答案 0 :(得分:1)

你看到的html ng-click不是针对角度范围编译的,而是由jQuery插件生成的(不知何故),因此angular不知道你在元素上放置了{{1}},因此,单击它时没有任何反应。如果提供小提琴,我会尝试提供有效的解决方案。

答案 1 :(得分:0)

这是使用Angular.js定义点击事件的正确方法。

如下所示 在你的js文件中写下面的函数。

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

将此js文件链接到您的html页面,your_controller_name代表您在ng-controller中设置的内容。