选择并不总是与AngularJS

时间:2015-07-05 11:20:56

标签: javascript angularjs twitter-bootstrap

我使用带有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。问题可能与所选指令或引导模式有关吗?

1 个答案:

答案 0 :(得分:0)

我无法为此找到解决方案,所以我只是在列表中添加了一个整数id并基于该选项。它工作正常。