Muffin
Muffin

Reputation: 791

AngularJS select value of property instead of object

I want to bind ng-model with string value of a property not with the complete object. http://jsfiddle.net/arkomahmud/753YB/2/

My HTML code looks as follows

<div ng-app='myApp' ng-controller="ArrayController">
    <select ng-model="group.name" ng-options="Group.Name for Group in Groups"></select>
    <div class="col-md-4" ng-show="group.name.Value == 'new'">
        <input class="text-box" type="text" name="NewValue" ng-model="newValue" />
        <button ng-click="add(newValue)">Add</button>
    </div>
      <p>Here I want Value Only[Not object]: {{group.name}}</p>
    <p>Now I get it in this way: {{group.name.Name}}</p>
    <p><b>But I want group.name to be string not object</b></p>
</div>

Upvotes: 3

Views: 2434

Answers (2)

sylwester
sylwester

Reputation: 16498

http://jsfiddle.net/zq53z/ group.Name is a string as in your $scope.Groups you've got Name not name

<div ng-app='myApp' ng-controller="ArrayController">
    <select ng-model="group" ng-options="Group.Name for Group in Groups"></select>
    <div class="col-md-4" ng-show="group.name.Value == 'new'">
        <input class="text-box" type="text" name="NewValue" ng-model="newValue" />
        <button ng-click="add(newValue)">Add</button>
    </div>
    <p>Here I want Value Only[Not object]: {{group.Name}}</p>
    <p>Now I get it in this way: {{group.name.Name}}</p>
    <p><b>But I want group.name to be string not object</b>
    </p>
</div>

Upvotes: 2

meze
meze

Reputation: 15087

You can do:

 <select ng-model="group.name" ng-options="Group.Name as Group.Name for Group in Groups">

But that will break the condition on group.name.Value.

Upvotes: 2

Related Questions