В приложении есть мультиселектор-dropbox. Когда получаются значения проверенных элементов раскрывающегося списка multiselect.it имеет,проверено значение флажка в контроллере angularjs
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 (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.
}
Приведенный выше параметр 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». Как реализовать в контроллере.
можете ли вы опубликовать код, связанный, пожалуйста? – GillesC
Вы хотите, чтобы мы догадались, что вы написали в коде? –