我使用带有chosen指令的选择框。在我的页面中,用户可以编辑对象。引导模式中的表单将打开,其中包含用户可以编辑的初始值。所有输入表格都是必需的。
在我的其他选择框中,所有选项都有id,它们与初始设置值的id正确匹配。但是一个盒子只有三个选项,它们都只是字符串。我不确定问题出在哪里,但是选择框仅匹配模型中的值大约1到5次。我已经尝试过其他类似问题的解决方案,但没有一个有效。我试图在jsfiddle中建立一个例子,但我还没有能够在那里复制这个问题。
hmtl的一个例子:
<div class="modal-body">
<form class="form-horizontal" name="editForm" novalidate>
<div class="form-group" ng-class="{'has-error': editForm.inputType.$invalid}">
<label for="inputType" class="col-sm-2 control-label">Type:</label>
<select chosen
class="col-sm-7"
id="inputType"
name="inputType"
data-ng-model="formData.Type"
data-ng-options="type.Name as type.Name for type in typeList"
required>
<option value="">Select a type</option>
</select>
</div>
</form>
</div>
加载要编辑的数据的控制器功能:
$scope.edit = function(objectid) {
var req = {
method: 'GET',
url: $scope.url + 'node/' + objectid + '/'
}
$http(req).success(function(response) {
$scope.formData = response;
$scope.formData.id = objectid;
});
};
并且typeList的结构为:
$scope.typeList = [
{"Name": "General"},
{"Name": "Super"},
{"Name": "Material"}
];
我在类型为常规时测试formData.Type === typeList[0].Name
并返回true
。问题可能与所选指令或引导模式有关吗?
答案 0 :(得分:0)
我无法为此找到解决方案,所以我只是在列表中添加了一个整数id并基于该选项。它工作正常。