我有以下html:
weight_sum
我只需要在表单/表格中显示排名(整数值)。但它实际上将整数和字符串值都输入到字段中。如何防止这种情况并仅显示整数值?伙计们好吗?提前致谢
根据答案,我已经使用severity_list更新了我的问题,是否因为编辑人员有任何变化?
<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>
编辑以向SK显示问题:
答案 0 :(得分:2)
你应该真的使用ng-options
编辑:阅读您的其他评论并意识到您可能想要这个
<!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>
&#13;
.click
&#13;
答案 1 :(得分:0)
在审核了评论之后,我可以建议以下内容?
它并不精彩,但它展示了一种方法,这里是小提琴:
http://jsfiddle.net/LXAt7/573/
<select ng-model="s_value" class="form-control" ng-hide="!editMode" ng-options="s.rank as (s.rank + ' - ' + s.generic_value) for s in severity_list" ng-change="valueChanged()">
</select>
<input type="text" ng-model="s_value" ng-show="!editMode" ng-click="changeToEditMode()" />
值得注意的是,使用ng-options
是一种更清洁的方法。 - https://docs.angularjs.org/api/ng/directive/ngOptions
我不熟悉这个逐字标记,但如果它不低于</select>
,它似乎不合适?
答案 2 :(得分:-2)
你可以尝试这样的事情。我试图保持简单:
var app = angular.module("Demo", []);
app.controller("AppController", function($scope) {
$scope.severity_list = [{
rank: 1,
generic_value: "High"
}, {
rank: 2,
generic_value: "Mid"
}, {
rank: 3,
generic_value: "Low"
}];
$scope.getVal = function(ind) {
if ($scope.selectedValue != undefined && $scope.selectedValue == $scope.severity_list[ind].rank) {
$scope.severity_list[ind].viewValue = $scope.severity_list[ind].rank;
} else {
$scope.severity_list[ind].viewValue = $scope.severity_list[ind].rank + '-' + $scope.severity_list[ind].generic_value;
}
return $scope.severity_list[ind].viewValue;
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="Demo">
<div ng-controller="AppController">
<select ng-model="selectedValue">
<option value="">--Select--</option>
<option ng-repeat="s in severity_list" value="{{s.rank}}">
{{ getVal($index) }}</option>
</select>
<span ng-show="selectedValue">Selected Value: {{ selectedValue }} </span>
</div>
</div>
&#13;
JsFiddle:https://jsfiddle.net/sktajbir/6fmvsaf0/21/
由于选项标记中的此代码,所选值始终为等级:
value="{{s.rank}}"
如果您希望将完整对象作为所选对象,则可以尝试:
value="{{s}}"
我希望这会帮助你进一步思考。感谢。