Javascript 选中angularjs控制器中的复选框值
在应用程序中,有一个多选下拉框。当获取multiselect下拉列表中选中项的值时,它有 scope.names=[1,2,4,5],这意味着我已经从列表中选择了4个名称。在On change期间,我选择了其他名称,比如scope.names=[3,4]。如何使用angularjs控制器执行此操作?我得到以下错误Javascript 选中angularjs控制器中的复选框值,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,在应用程序中,有一个多选下拉框。当获取multiselect下拉列表中选中项的值时,它有 scope.names=[1,2,4,5],这意味着我已经从列表中选择了4个名称。在On change期间,我选择了其他名称,比如scope.names=[3,4]。如何使用angularjs控制器执行此操作?我得到以下错误 TypeError: Cannot read property 'indexOf' of undefined at Scope.$scope.isChecked (mmMult
TypeError: Cannot read property 'indexOf' of undefined
at Scope.$scope.isChecked (mmMultiSelect.js:85)
at $parseFunctionCall (angular.js:12332)
at Object.expressionInputWatch (angular.js:12735)
at Scope.$get.Scope.$digest (angular.js:14217)
at Scope.$get.Scope.$apply (angular.js:14488)
at HTMLDivElement.<anonymous> (angular.js:22954)
at HTMLDivElement.jQuery.event.dispatch (jquery.js:4409)
at HTMLDivElement.jQuery.event.add.elemData.handle (jquery.js:4095)
#UPDATE
scope.names = [];
scope.onNamesSelected = function() {
var names = scope.names //get selected name list in array as [1,2,3]
scope.onNamesChanged();
}
scope.onNamesChanged = function() {
scope.names = [3,5]; //need to check this value in UI.
}
TypeError:无法读取未定义的属性'indexOf'
在Scope.$Scope.isChecked(mmMultiSelect.js:85)
$parseFunctionCall(angular.js:12332)
at Object.expressionInputWatch(angular.js:12735)
范围$get.Scope.$digest(angular.js:14217)
范围为$get.Scope.$apply(angular.js:14488)
在HTMLDEVELENT。(angular.js:22954)
位于htmldevelment.jQuery.event.dispatch(jQuery.js:4409)
位于htmldevelment.jQuery.event.add.elemData.handle(jQuery.js:4095)
#更新
scope.names=[];
scope.onNamesSelected=函数(){
var names=scope.names//将数组中的选定名称列表获取为[1,2,3]
scope.onNamesChanged();
}
scope.onNamesChanged=函数(){
scope.names=[3,5];//需要在UI中检查此值。
}
这里是一个html选项从浏览器,复选框时,选中
<div id="NameItem4CheckBox" class="ng_checkbox" ng-class="{'ng-checkbox-hover': liHover}" ng-tool-tip="" ng-click="onClick()">
<span ng-class="{'selectedCB': isChecked(c[ngOptionId], c[ngOptionName])}" class="selectedCB"></span>
</div>
当未检查时
<div id="NameItem0CheckBox" class="ng_checkbox" ng-class="{'ng-checkbox-hover': liHover}" ng-tool-tip="" ng-click="onClick()">
<span ng-class="{'selectedCB': isChecked(c[ngOptionId], c[ngOptionName])}"></span>
</div>
另外,我没有检查html中的字段。所选复选框已由类“CSBSelected”标识。如何在控制器中实现。在看不到任何代码的情况下,看起来您正在向控制器isChecked()函数传递一个未定义的函数。如果是这种情况,您可以检查undefined/null。或者,您可能需要检查您正在传递的内容是否与您期望的内容完全一致。您可以发布相关的代码吗?您想让我们猜一下,您在代码中写了什么?这可能也有助于提供html。如果我有足够的信息,我很乐意帮忙。这对你来说够了吗。