我已经有了这个代码来生成一个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>
我想禁用一个按钮,如果这个ui-select没有选择,但是写这个不工作
ng-disabled="!work"
我该怎么做?
谢谢。
正如其他人所说,一个普朗克会有帮助。
出于兴趣,这有什么区别吗?
ng-disabled="!newTask.work || newTask.work.length == 0"
另一个提示:在开发过程中,当你遇到这样的问题时,值得在你的网页上注明:
<pre>{{ newTask.work | json }}</pre>
它会显示你绑定的Angular变量的原始值,所以你可以看到它的值随着你在<ui-select>
控件中选择/取消选择项的变化。
希望对你有帮助。
更新(看到Plunkr后):
如果您将以下行添加到您的script.js中,您将看到我建议的pre
确实显示了您在下拉列表中选择的值,并且从那里,您可以设置ng-disabled
标志:
$scope.newTask =
{
work: null
};
…当你在下拉列表中选择一个项目时,你的按钮将被启用。
这就是为什么我推荐pre
的想法…它在你的Plunkr中没有显示任何东西,即使在选择了一个项目之后,也会立即显示你的Angular变量没有绑定到选择,或者不存在。