我是使用 AngularJS 的新手,但我一直在使用一个宠物项目,但我遇到了一个问题。我基本上想要做的是从此输入字段中获取文本输入:
<form id="ci_search_form">
<p class="input-append"><label>Search:</label> <input type="text" id="query" ng:model="query" autofocus> <button ng:click="clearSearch()" class="btn"><i class="icon-remove"></i></button></p>
</form>
并使用该值更新此输入字段的值:
<div><input type="text" id="ciquery" ng:model="ciquery.Name"></div>
第二个输入过滤了一些数据,我可以直接输入它并且它可以工作。但是,此页面将有不同的数据集,每个数据集都有自己的搜索输入,我希望通过顶部的主输入进行更新。我也无法设置 value="" 或使用 jQuery 设置值,除非我明确输入第二个输入字段,否则它只会显示为空白。任何人都可以提供解决方案吗?
编辑
我想我应该包括我的应用程序和控制器代码:
var App = angular.module('TicketAssistApp', []);
App.controller('SearchController', function($scope, $http, $filter){
$scope.query = '';
$http.get('static/ci_list.json').success(function(data){
$scope.ci_list = data;
});
$scope.clearSearch = function(){
$scope.query = '';
}
});
编辑 2
取得了一些进展。在 $scope 中创建了一个可以称为更新 ciquery 的函数:
var App = angular.module('TicketAssistApp', []);
App.controller('SearchController', function($scope, $http, $filter){
$scope.query = '';
$scope.ciquery = '';
$http.get('static/ci_list.json').success(function(data){
$scope.ci_list = data;
});
$scope.queryUpdate = function(){
$scope.ciquery = $scope.query;
}
$scope.clearSearch = function(){
$scope.query = '';
$scope.queryUpdate();
}
});
这很好用。但是,这会产生另一个问题。在 ciquery 之前,我使用 ciquery.Name 仅过滤 Name 属性。使用这个新解决方案,我不得不将其更改为:
<div><input type="hidden" id="ciquery" ng:model="ciquery"></div>
这会搜索我的数据中返回不需要的结果的所有字段。建议?