我预定义字段的下拉列表很少。现在我正在对数据库进行ajax调用并获取数据。 数据来自数据库,我可以在firebug(网络选项卡)中看到数组。
我想在下拉列表中将此数据设置为选中状态。在文本框中很简单。 但我很难用下拉菜单。
下面的Ajax代码
formApp.controller('getprofile', function($scope,$http){
$http({
url: 'get_profile.php',
method: "GET",
params: {uid: uid}
})
.success(function(data) {
if (data.success) {
$scope.formData.dob = data.dob;
$scope.married = data.married;
}
Html代码
<input name="dob" id="dob" type="text" class="form-control textbox1" required="required" placeholder="Date of birth(dd-mm-yyyy) " ng-model="formData.dob">
<div class = "errorba" ng-show="dob">{{dob}}</div>
</div>
<div class="form-group" ng-class="{ 'has-error' : errormarried }">
<select id="married" name="married" class="selector form-control" ng-model="formData.married" required="required">
<option value="0" selected="selected" >Maritial Status</option>
<option value="1" >Single</option>
<option value="2">Married</option>
</select>
<span class="errorba" ng-show="errormarried">{{ errormarried }}</span>
</div>
来自ajax的数据 - 1 1表示单一。
请告知我的错误。
答案 0 :(得分:1)
将控制器中的$scope.married = data.married;
更改为$scope.formData.married = data.married;
,因为控制器中的ng-model
和$scope
变量不同。
在最坏的情况下,您的控制器中可能会出现未定义的错误formData
。所以在使用赋值之前定义$scope.formData = {};
。
formApp.controller('getprofile', function($scope,$http){
$http({
url: 'get_profile.php',
method: "GET",
params: {uid: uid}
})
.success(function(data) {
if (data.success) {
$scope.formData = {};
$scope.formData.dob = data.dob;
$scope.formData.married = data.married;
}
&#13;