繁体   English   中英

尝试使用angularjs将一个输入的值更新为另一个输入的值

[英]Trying to update one input's value to another's using angularjs

我使用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>

这将搜索我的数据中的所有字段,并返回不需要的结果。 有什么建议吗?

$ scope和ng-model是不同的。 您应该将ng-model的属性赋予ng-click的函数。 看这个-> Ng模型不会更新控制器值

更新第二个输入的字段(这里是一个示例-> http://jsfiddle.net/yEvSL/1/

<div><input type="text" id="ciquery" ng:model="query"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM