我有以下 html:
<td>
{%verbatim%}
<select ng-model="s_value" class="form-control">
<option ng-repeat="s in severity_list" ng-value="s.rank" >{{s.rank}}-{{s.generic_value}}</option>
{%endverbatim%}
</select>
</td>
我只需要在我的表单/表格中显示排名(整数值)。但它实际上将整数和字符串值都放入了字段中。我怎样才能防止这种情况并只显示整数值?有什么想法吗?提前致谢
根据回答,我已经用 severity_list 更新了我的问题,编辑人员是否有任何更改?
$scope.severity_lists = function(){
console.log('Stage1: Loading Sods..... ');
$http.get('{% url "severities" %}').success(
function(data){
$scope.severity_list = data['objects'];
}).error(function(data, status){
console.log('Stage1: Internal error while loading initial data:'+status );
});
};
$scope.severity_lists();
编辑以向 SK 显示问题:
最佳答案
你真的应该使用 ng-options
编辑:阅读你的其他评论并意识到你可能想要这个
var app = angular.module('app', []);
app.controller('MainCtrl', function($scope) {
$scope.severity_list = [{
rank: 1,
generic_value: 'severe'
}, {
rank: 2,
generic_value: 'not so bad'
}];
$scope.initialiseOptions = function() {
for (i = 0; i < $scope.severity_list.length; i++) {
$scope.severity_list[i].Text = $scope.severity_list[i].rank + '-' + $scope.severity_list[i].generic_value;
}
}
$scope.initialiseOptions();
$scope.dropdownChanged = function() {
if($scope.s_value){
$scope.initialiseOptions(); // reset our previous selections
$scope.s_value.Text = $scope.s_value.rank;// Set our display to only rank after its chosen
}
};
});
<!DOCTYPE html>
<html ng-app="app">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-controller="MainCtrl">
<select ng-model="s_value" class="form-control" ng-options="option as option.Text for option in severity_list" ng-change="dropdownChanged()">
</select>
Selected:{{s_value}}
</body>
</html>
关于html - 如何从下拉列表中获取特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37316305/