我真的希望你能帮助我。修改表单时,我无法在文本框中显示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
值。
我希望我的解释清楚。我真的需要帮助。
答案 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 }};