停止Angular将[object Object]插入到我的文本输入中

时间:2014-09-26 06:36:48

标签: javascript html angularjs

我正在使用Angular过滤表格的数据数组。过滤器在表上工作,但当我选择其中一个选择选项时,它会将[object Object]插入到我的文本输入中。我该如何阻止它?

<div class='table-filters'>

  <div class='row'>
    <label>Search</label>
    <input ng-model="query"   name='search' >
  </div>

  <div class='row'>
    <label for='category'>Category</label>
    <select ng-model="query.cat">
      <option value="">Any</option>
      <option value="VOWEL">Vowels</option>
      <option value="CONSONANT">Consonants</option>
      <option value="NUMBER">Digits</option>
      <option value="SIGN: DEP">Dependent Signs</option>
      <option value="SIGN: IND">Independent Signs</option>
    </select>
  </div>

  <div class='row'>
    <label for='matched-rows'>Matched Characters</label>
    <span id='matched-rows'>{{(rows|filter:query).length}}</span<
  </div>

</div>

2 个答案:

答案 0 :(得分:2)

我似乎找到了这个问题的解决方案http://plnkr.co/edit/XklvXtc1AZpndjLvXrh8?p=preview;

<div class='row'>
 <label>Search</label>
 <input ng-model="query[queryBy]"   name='search' >
</div>

js file:

demo.controller('demoController', function($scope){

    $scope.rows = getRows();
    $scope.query = {};
    $scope.queryBy = '$';

});

我应该把我的js文件放在问题中,我知道。抱歉写得不好的问题。谢谢。

答案 1 :(得分:0)

query是Object,它的toString()实现返回[object Object]。

使用query.cat作为ng-model进行输入。

<input ng-model="query.cat"   name='search' >