Angular JS:将表单的select选项值作为参数传递给ng-submit ="doStuff()"

mei*_*ryo 6 angularjs

我把我的代码简化为:

<form ng-submit="doStuff($('select').val())">
  <select name="menu">
    <option value="foo">bar</option>
  </select>
</form>
Run Code Online (Sandbox Code Playgroud)

当我提交表单时,我希望angular传递<select>的值是函数doStuff().什么是最好的方式来解决这个问题?

Alw*_*ner 12

您不需要将下拉列表的值传递给提交处理程序.

它将在doStuff方法中以$ scope.menu的形式提供.

此外,您应该使用angular的ng-options来填充下拉列表中的选项:

<form ng-submit="doStuff()">
<select ng-model="menu" ng-options="item.name for item in items">       
</select>
Run Code Online (Sandbox Code Playgroud)

  • 您不应该使用ng-repeat来填充下拉选项.Angular专门为此提供了ng-options. (4认同)