我正在使用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>
答案 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' >