AngularJS:仅在输入字段中有值时显示列表

时间:2013-09-01 08:58:22

标签: javascript angularjs

当用户开始在输入字段中输入时,我想要一个建议标签列表,以便在输入字段 下方显示。目前我有这个

   div.form-group
      input#tags.form-control(name="tags", ng-model="query")
    div.form-group
      ul.suggested-tags
        li(ng-repeat="tag in tags | filter:query") {{tag.name}}

和这个JS

  controller('TagsCtrl', function ($scope) {   
    $scope.tags = [
      {
        "name": "Foo",
        "id": "foo"
      },
      {
        "name": "Bar",
        "id": "bar"  
      }
    ]    
  })

如果[]query,将标记设置为null的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

据我所知,只有当有人开始输入文字字段时,你才想显示标签。

使用ng-show

在类型上,您将typeInProcess设置为true

div.form-group
  input#tags.form-control(name="tags", ng-model="query")
div.form-group
  ul.suggested-tags (ng-show="typeInProcess" )
    li(ng-repeat="tag in tags | filter:query") {{tag.name}}

对于您的文本字段,添加:ng-change =“typeInProcess()”`。

在控制器中,设置:

 $scope.typeInProcess = false;

$scope.typeInProcess= function() {      
  $scope.typeInProcess = true;
};