AngularJS:如果在转发器中值为空,则不显示字符串的一部分

时间:2014-12-08 15:45:26

标签: angularjs angularjs-ng-repeat

我在选择菜单中有一个ng-repeat:

<label>Country</label>
    <select name="seller-country" class="form-control input-sm">
      <option ng-repeat="c in countries | orderBy:predicate" value="{{c.code}}">{{c.code}} ({{c.name}}) </option>
    </select>

数据中的第一项为空,如

{
  "countries": [{
     "name": "",
     "code": ""
     }, ...

我在上面设置了绑定,因此菜单项将在CA (Canada)中读取,因此对于空字符串,它会显示()。我想不要显示空字符串的parens。

更新 下面的答案确实是正确的,但在这种情况下,我是在检查Angular docs for select之前,在误导的尝试中添加空的第一项以获取空的选择项的人。通过简单地添加一个额外的第一个option项目,您似乎可以完全按照我的目的去做:

<select name="seller-country" class="form-control input-sm">
      <option value="">Choose...</option>
      <option ng-repeat="c in countries | orderBy:predicate" value="{{c.code}}">{{c.code}} ({{c.name}}) </option>
    </select>

1 个答案:

答案 0 :(得分:1)

  <option ng-repeat="c in countries | orderBy:predicate"
     ng-if="c.code != '' && c.name!= '' && c.code != null && c.name!= null" 
     value="{{c.code}}">{{c.code}} ({{c.name}}) </option>