2015-05-16 3 views
0

Я заполняю выпадающий список из объекта. Я хочу установить соответствующее значение модели как «текст» объекта привязанного объекта. Но также мне нужно отправить параметр (значение привязанного объекта) для функции. Я могу сделать это. Но значение модели получает весь объект. Я хочу получить только текст объекта.Как получить все пропорции от ng-опций в AngularJS?

var app = angular.module("App", []); 
 

 
app.controller("Controller", function($scope) { 
 
    $scope.list = [{ 
 
    "Text": "75.000", 
 
    "Value": 1 
 
    }, { 
 
    "Text": "100.000", 
 
    "Value": 2 
 
    }, { 
 
    "Text": "150.000", 
 
    "Value": 3 
 
    }, { 
 
    "Text": "250.000", 
 
    "Value": 4 
 
    }]; 
 
    $scope.GetVal = function(val) { 
 
    alert(val); 
 
    }; 
 
});
<!DOCTYPE html> 
 
<html ng-app="App"> 
 

 
<head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script> 
 
    <meta charset="utf-8"> 
 
    <title></title> 
 
</head> 
 

 
<body ng-controller="Controller"> 
 

 
    <select ng-model="model" ng-options="item as item.Text for item in list" ng-change="GetVal(model.Value)"> 
 

 
    </select> 
 

 

 
    <pre> 
 
my model: {{model}} 
 
    </pre> 
 
</body> 
 

 
</html>

Мои коды, как показано ниже. Вы можете помочь?

+0

Не могли бы вы прояснить, что вам нужно. –

ответ

1

Согласно моему пониманию, я обновил треску, пожалуйста, проверьте и дайте мне знать, если это то, что вам нужно.

<!DOCTYPE html> 
<html ng-app="App"> 

<head> 
    <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.min.js"></script> 
    <meta charset="utf-8"> 
    <script src="script.js"></script> 
    <title></title> 
</head> 

<body ng-controller="Controller"> 

    <select ng-model="model" ng-options="item as item.Text for item in list" ng-change="GetVal(model)"> 
    <option value= "" disabled="">select value</option> 
    </select> 


    <pre> 
my model: {{model.Text}} 
    </pre> 
</body> 

</html> 

// Код идет здесь

var app = angular.module("App", []); 

app.controller("Controller", function($scope) { 
    $scope.list = [{ 
    "Text": "75.000", 
    "Value": 1 
    }, { 
    "Text": "100.000", 
    "Value": 2 
    }, { 
    "Text": "150.000", 
    "Value": 3 
    }, { 
    "Text": "250.000", 
    "Value": 4 
    }]; 
    $scope.GetVal = function(val) { 
    alert(val.Value); 
    }; 
}); 
+0

Привет. Прежде всего, извините за мой плохой английский. Я просто хочу установить значение моей модели как TEXT с нажатой кнопкой и отправить параметр с помощью функции VALUE, выбранной функцией GetVal. Мне нужно только это. Это ясно? –

+0

@BasarSen проверить этот ответ поможет вам. –

0

Basar,

Вам нужно будет изменить нг-повтор, как показано ниже

<!DOCTYPE html> 
<html ng-app="App"> 

<head> 
    <script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular.min.js"></script> 
    <meta charset="utf-8"> 
    <script src="script.js"></script> 
    <title></title> 
</head> 

<body ng-controller="Controller"> 

    <select ng-model="model" ng-options="item as item.Value for item in list" ng-change="GetVal(model)"> 
    <option value= "" disabled="">select value</option> 
    </select> 


    <pre> 
my model: {{model.Value}} 
    </pre> 
</body> 

</html> 
+0

Да, но на этот раз моя модель возвращает такой объект {«Текст»: «100.000», «Значение»: 2}. Я хочу вернуть его только как 100.000 –

+0

Вы уверены? PLease проверьте этот плункер. http://plnkr.co/edit/GOeVC0lEueHXQ41P60OA?p=preview –

+0

Вы написали {{model.Value}}. Я не могу этого сделать. –

0

сена,

Do вы хотите связать только Text на ваш model? или Text и Value оба?

Если вы хотите связать текст, уточните обновленный plnk.

Я знаю, это старый вопрос.

+0

Я не знаю, почему это не берет '@ basar-sen'! –

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