Angularjs:动态填充的选项select返回object而不是value

时间:2016-11-02 10:19:16

标签: html angularjs forms

我正在尝试使用从数据库获取的值动态填充AngularJS中options HTML元素的<select>。根据文档,我试过这个:

<select 
    name="student_id" 
    ng-model="studentData.student_id"
    ng-options="student as student.name for student in students track by student.id"  
    class="form-control"> 
    <option value="">-- choose Agency --</option>
</select>

这很好用。它填充了option select HTML元素,我可以看到下拉值填充了学生的姓名,option元素的对应值是student_id

现在的问题是,当我填写所有表单并尝试提交时,它会提交学生对象而不是 student_id 作为{{的值1}}元素。

如何提交option select而不是学生对象

1 个答案:

答案 0 :(得分:3)

在您的代码中,您选择整个student对象。改变这一行

ng-options="student as student.name for student in students track by student.id"  

要:

ng-options="student.id as student.name for student in students track by student.id"  

注意:我认为你也应该删除track by,我想这里没有任何内容。