AngularJs - 输入文本框未填充初始值id

时间:2016-03-18 04:20:20

标签: html angularjs

我真的希望你能帮助我。修改表单时,我无法在文本框中显示ID填充。 让我详细解释一下

这是我的清单:

myList = [{ 'id':100, 'name': 'test mission 1' },
    { 'id':102, 'name': 'test mission 2' },
    { 'id':103, 'name': 'test mission 3' },
    { 'id':104, 'name': 'test mission 4' },]

这是我的HTML,具有可行的预先输入功能。

<input type="text"
       ng-model="selected"
       typeahead="mission as mission.name for mission in myList | filter:{name:$viewValue} | limitTo:8"
       name="mission_name"
       disabled>

<input type="hidden"
       name="mission_id"
       ng-model="selected"
       value="{{field.value}}">

因此,无论您在命名mission_name的文本框中输入什么名称值,该名称的ID都会自动填充命名为mission_id的文本框。这已经可行了,这不是真正的问题。因为我想要保存到数据库的唯一值是mission_id。让我先告诉你我的控制器。

这是我的控制器

angular.module('actinbox.web').controller('TypeaheadCtrl_{{ field.id_for_label }}', function($scope) {
    $scope.selected = "{{ mission.name }}";
    $scope.myList = {{ Mission|safe }};
});

问题是,当我想修改这些数据并转到表单时,我只能看到task_name由数据填充,它必须是因为我放了一个初始值,例如$scope.selected = "{{ mission.name }}"。但是,在mission_id文本框中,初始值也可能与mission_name的值ng-model相同。我想要做的是查看mission_id值,而不是mission_name值。

我希望我的解释清楚。我真的需要帮助。

1 个答案:

答案 0 :(得分:0)

尝试查看此

       <input type="hidden"
   name="mission_id"
   ng-model="selected"
   value="{{field.value}}">

       <input type="hidden"
         name="mission_id"
           ng-model="selected1"
         value="{{field.value}}">  

然后在js

     $scope.selected = "{{ mission.name }}";
     $scope.selected1 = "{{ mission.id }}";
     $scope.myList = {{ Mission|safe }};