我已经有了这段代码来生成一个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>
我该怎么做?
感谢。
答案 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,或者不存在。)