Search code examples
javascriptangularjsangular-strap

Angular strap select, get value


I use angular strap and my select looks like this:

<button type="button" class="btn btn-default" 
    ng-model="selectedObject" 
    data-html="1"
    bs-options="object.title for object in my_objects" bs-select>
    Action <span class="caret"></span>
</button>

my_objects array:

$scope.my_objects = [
    {title:'1'},
    {title:'two'},
    {title:'three'}
]

And when i use {{selectedObject}} in template, it gives me right result. But when i try to use this value in Controller, $scope.selectedObject is empty. How i can fix it? Thanks in advance.


Solution

  • You needs to create wrapper object to maintain pointer to your model. Create a wrapper object. I have created wrapper as object and assign wrapper.selectedObject as ngModel.

    Change your code to following

    <button type="button" class="btn btn-default" 
        ng-model="wrapper.selectedObject" 
        data-html="1"
        bs-options="object.title for object in my_objects" bs-select>
        Action <span class="caret"></span>
    </button>
    

    Change your controller to followings

    $scope.wrapper = {};
    
    $scope.my_objects = [
        {title:'1'},
        {title:'two'},
        {title:'three'}
    ];