0

当使用 AngularJS 的多个版本的UI-Select时,一旦用户按下回车,表单就会提交。许多用户开始输入标签并按回车键选择它并搜索新标签。但是一旦用户按下输入,表单就会提交。

禁用此功能的最佳“Angular”方法是什么?

查看示例

<form ng-submit="submit()">
  <ui-select multiple ng-model="multipleDemo.colors" theme="select2"  style="width: 300px;">
    <ui-select-match placeholder="Select colors...">{{$item}}</ui-select-match>
    <ui-select-choices repeat="color in availableColors | filter:$select.search">
      {{color}}
    </ui-select-choices>
  </ui-select>
  <p>Selected: {{multipleDemo.colors}}</p>

  <div style="height:500px"></div>
  </form>
4

2 回答 2

3

如果我了解您的要求,此解决方案将适合您。如果您想实现其他目标,请留下您的评论。

索引.html

<ui-select ng-keypress="selec2_keypress($event)" multiple ng-model="multipleDemo.colors" theme="select2"  style="width: 300px;">

演示.js

 $scope.selec2_keypress = function(event) {
    if (event.which === 13)
      event.preventDefault();
  }
于 2015-07-30T01:57:02.620 回答
1

只需避免在按钮上ng-submit使用 andng-click来提交表单,

<form>
    <ui-select multiple ng-model="multipleDemo.colors" theme="select2"  style="width: 300px;">
    <ui-select-match placeholder="Select colors...">{{$item}}</ui-select-match>
    <ui-select-choices repeat="color in availableColors | filter:$select.search">
      {{color}}
    </ui-select-choices>
  </ui-select>
  <p>Selected: {{multipleDemo.colors}}</p>

  <div style="height:500px"></div>
  <button type="button" ng-click="submit()">Submit</button>
</form>

不要忘记将button类型定义为button,如果表单中的按钮没有类型,则submit默认情况下它是表单的按钮。

于 2015-07-27T12:33:06.677 回答