隐藏选择,如果找不到任何结果



我有一个这样的选择:

<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 或火狐浏览器 I 进行 debbug 选择 获取默认选项为:

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

可以跳过这个吗?

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

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

ng-hide="!item.Catalogos"

你应该检查目录的长度

<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>

最新更新