使用angularJS从下拉列表中的模型中选择一个值
我知道在stack中有类似的问题。但不同的是,我在控制器中硬编码了下拉列表的选项,然后我希望下拉列表在默认情况下显示模型中的值 HTML:使用angularJS从下拉列表中的模型中选择一个值,angularjs,drop-down-menu,Angularjs,Drop Down Menu,我知道在stack中有类似的问题。但不同的是,我在控制器中硬编码了下拉列表的选项,然后我希望下拉列表在默认情况下显示模型中的值 HTML: <div class="form-group"> <label class="col-md-3 control-label" for="talent.rating">Rating*</label> <div
<div class="form-group">
<label class="col-md-3 control-label" for="talent.rating">Rating*</label>
<div class="col-md-9">
<select ng-model="talent.rating" validator="required" required-error-message="Rating is required" name="talent.rating" ng-options="obj.value as obj.text for obj in array"></select>
</div>
</div>
型号:
$scope.talent: Object
createdOn: "2017-02-03T00:58:20.0999066"
employee : Object
fromAccount : Object
id :130
inDate : "2017-02-01T05:30:00"
movedOutOfBench : false
outTill : "2017-05-02T05:30:00"
rating : 2
remark : "asd"
resumePath : ""
我做错了什么?请提供修复代码。找到解决方案
HTML:
尽管我尝试以数组中的数字形式给出值,如:
$scope.array = [{ value: 1, text: '1' }, { value: 2, text: '2' }, { value: 3, text: '3' }, { value: 4, text: '4' }, { value: 5, text: '5' }];, angular was considering it as string. Don't know why.
When inspecting from console,it was like - https://hastebin.com/ugatisazey.vbs
指令帮助我解决了这个问题。为什么您的
ng init
表达式与ng options
相同?我只是尝试一下,看看结果如何。对不起,我忘了把它还给你。我的代码中没有init,请您解释一下这部分-->我希望下拉列表默认显示模型中的值
。也许一把小提琴或长毛笔会很棒……在模型中,已经有了评级的价值。在我上面分享的JSON中,它的评级为2。当我打开页面时,下拉列表显示为空,而我希望它显示模型中的值。我不知道如何创建plunker。我会留意的。很抱歉
<select ng-model="talent.rating" convert-to-number>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
myApp.directive('convertToNumber', function () {
return {
require: 'ngModel',
link: function (scope, element, attrs, ngModel) {
ngModel.$parsers.push(function (val) {
return val != null ? parseInt(val, 10) : null;
});
ngModel.$formatters.push(function (val) {
return val != null ? '' + val : null;
});
}
};
});
$scope.array = [{ value: 1, text: '1' }, { value: 2, text: '2' }, { value: 3, text: '3' }, { value: 4, text: '4' }, { value: 5, text: '5' }];, angular was considering it as string. Don't know why.
When inspecting from console,it was like - https://hastebin.com/ugatisazey.vbs