2015-06-13 2 views
0

В приложении есть мультиселектор-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». Как реализовать в контроллере.

+6

можете ли вы опубликовать код, связанный, пожалуйста? – GillesC

+0

Вы хотите, чтобы мы догадались, что вы написали в коде? –

ответ

0

Не видя какого-либо кода, похоже, что вы передаете неопределенный в свой контроллер isChecked() функцию. Если это так, вы можете проверить неопределенный/null. В качестве альтернативы вы можете проверить, что вы проходите, именно то, что вы ожидаете.

+0

Я просто обновляю свой код. – Pez

+0

Возможно, это поможет также предоставить html. Я хотел бы помочь, если у меня будет достаточно информации. –

+0

Этого достаточно для вас. – Pez

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