Issue
I declared in the scope the var:
$scope.submit = {
next:"",
formparams:"",
value:""
};
In my HTML I have:
<div>
<div ng-repeat="opcion in menu.opciones">
<label> Opcion: </label>
<input id="{{opcion.opcion}}" type="radio" name=grupo
value="{{opcion.Submit}}+{{opcion.opcion}}" ng-model="submit.next"
ng-change="submit.value={{opcion.opcion}}" ng-required="true"required> {{opcion.opcion}}
</input>
</div>
</div>
The array of options contains something like {1,2,3,*}
.
When I select, every numeric option is working fine, but when I select the "*" in the console of the browser, the following error appears:
angular.js:9419 TypeError: a is not a function
at OPERATORS.* (http://192.168.0.3:8080/MobilTest/lib/angular.js:9515:44)
at http://192.168.0.3:8080/MobilTest/lib/angular.js:10041:35
at Scope.$eval (http://192.168.0.3:8080/MobilTest/lib/angular.js:11961:28)
at http://192.168.0.3:8080/MobilTest/lib/angular.js:16943:13
at http://192.168.0.3:8080/MobilTest/lib/angular.js:16784:11
at Array.forEach (native)
at forEach (http://192.168.0.3:8080/MobilTest/lib/angular.js:303:11)
at $setViewValue (http://192.168.0.3:8080/MobilTest/lib/angular.js:16782:7)
at http://192.168.0.3:8080/MobilTest/lib/angular.js:16284:14
at Scope.$eval (http://192.168.0.3:8080/MobilTest/lib/angular.js:11961:28)(anonymous function) @ angular.js:9419(anonymous function) @ angular.js:6843(anonymous function) @ angular.js:16786forEach @ angular.js:303$setViewValue @ angular.js:16782(anonymous function) @ angular.js:16284Scope.$eval @ angular.js:11961Scope.$apply @ angular.js:12061(anonymous function) @ angular.js:16283(anonymous function) @ angular.js:2613forEach @ angular.js:310eventHandler @ angular.js:2612
And the var is empty.
Solution
In {1,2,3,*}
*
is being evaluated as an operator when combined with +
in the expression {{opcion.Submit}}+{{opcion.opcion}}
. Just change it to a character like so {1,2,3,'*'}
and it should work.
Answered By - Shaunak
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.