angularJS - ng-if和ng-model

时间:2014-03-24 09:28:01

标签: javascript angularjs

我正在尝试根据我的角度应用中的选择值显示一个字段。它应该很简单:当newJob.country ==='Remote'时,我希望我的'city'字段消失:

HTML:

  <body ng-app>
        <div class="form-aside">
          <label>Location</label>
          <select ng-model="newJob.country" class="form-control">
            <option>Remote</option>
            <option>France</option>
            <option>UK</option>
          </select>
        </div>
        <div class="form-aside" ng-if="newJob.country !== 'Remote'">
          <label>City</label>
        </div>
  </body>

由于某种原因,它不起作用。以下是plunker:http://plnkr.co/edit/GcJNePs9zvkejnIATTiw?p=preview

我怎样才能做到这一点?

由于

2 个答案:

答案 0 :(得分:1)

您的Angular版本不支持ng-if

尝试:

<div class="form-aside" ng-show="newJob.country != 'Remote'">

或者将您的Angularjs版本更新为1.2.15,即最后一个稳定版本。

答案 1 :(得分:1)

您需要为每个value代码定义<option>

然后,您需要使用ng-show!=一起动态显示您的标签。

你的掠夺者应该这样做:

<body ng-app>
    <div class="form-aside">
      <label>Location</label>
      <select ng-model="newJob.country" class="form-control">
        <option value="remote">Remote</option>
        <option value="france">France</option>
        <option value="uk">UK</option>
      </select>
    </div>
    <div class="form-aside" ng-show="newJob.country != 'remote'">
      <label>City</label>
    </div>
</body>

此处的Plunker:http://plnkr.co/edit/meqpbOVXrH4ANtQlxdoy?p=preview