如果在ui-select中未选择任何内容,则禁用按钮

时间:2015-10-08 10:41:06

标签: angularjs ui-select

我已经有了这段代码来生成一个ui-select:

let $order := "ascending"
for $aRslt in ("1","2","3","4")
    order by ($aRslt)
    if($order eq "ascending") then ascending else descending
return $aRslt

我想禁用一个按钮,如果这个ui-select没有选择任何内容,但写这个没有用

<ui-select ng-model="newTask.work" theme="select2" class="form-control" title="Scegli un lavoro"> <ui-select-match placeholder="Scegli un lavoro">{{$select.selected.label}}</ui-select-match> <ui-select-choices repeat="item in lavori | filter: $select.search"> <div ng-bind-html="item.label | highlight: $select.search"></div> </ui-select-choices> </ui-select>

我该怎么做?

感谢。

1 个答案:

答案 0 :(得分:2)

正如其他人所说,Plunkr会有所帮助。

出于兴趣,这是否有所不同:

ng-disabled="!newTask.work || newTask.work.length == 0"

另一个提示:在开发期间,遇到这样的问题时,值得在您的网页上坚持这一点:

<pre>{{ newTask.work | json }}</pre>

它会显示绑定的Angular变量的原始值,因此您可以在选择/取消选择<ui-select>控件中的项目时看到其值发生变化。

希望这有帮助。

更新(看到Plunkr后):

如果您在script.js中添加以下行,您会看到我建议的pre确实显示您在下拉列表中选择的值,然后您可以设置ng-disabled 1}}标志:

  $scope.newTask =
  { 
      work: null
  };

...当您在下拉列表中选择一个项目时,您的按钮将会启用。

(这就是我推荐pre想法的原因..即使在选择了一个项目之后,它在你的Plunkr中也没有显示任何内容,立即显示你的Angular变量没有绑定到select,或者不存在。)

相关问题