如果没有找到任何结果,请隐藏选择

时间:2017-07-05 16:12:18

标签: angularjs

我有这样的选择:

<select class="form-control" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos"></select>

如果我没有ng-hide选项,我会尝试隐藏选择:

<select class="form-control" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos " ng-hide="item.Catalogos == 0"></select>

ng-show为:

<select class="form-control" ng-show="Catalogos" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>

但是没有人工作,它仍然出现,任何人都可以帮助我吗?

  

注意:我发现了一个问题,如果我使用chrome或firefox选择debbug   获取默认选项:

<option value="?" selected="selected"></option>

可以跳过这个吗?

2 个答案:

答案 0 :(得分:1)

您的ng-hide应该使用item.Catalogos.length

ng-hide="item.Catalogos.length == 0"

ng-hide="!item.Catalogos"

答案 1 :(得分:0)

您应该检查目录的长度

<select class="form-control" ng-show="Catalogos.length>0" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>

或者您需要将其转换为布尔值

<select class="form-control" ng-show="!!Catalogos" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>

ng-hide

可以遵循相同的过程
<select class="form-control" ng-hide="Catalogos.length==0" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>

或者

<select class="form-control" ng-hide="!Catalogos" ng-change="filtro(selected)" ng-model="selected" ng-options="item.Nombre for item in Catalogos "></select>