Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Typeahead从url获取数据json值无效_Javascript_Angularjs_Twitter Bootstrap_Angular Ui Bootstrap_Bootstrap Typeahead - Fatal编程技术网

Javascript Typeahead从url获取数据json值无效

Javascript Typeahead从url获取数据json值无效,javascript,angularjs,twitter-bootstrap,angular-ui-bootstrap,bootstrap-typeahead,Javascript,Angularjs,Twitter Bootstrap,Angular Ui Bootstrap,Bootstrap Typeahead,以下是我的angular typeahead HTML代码: <div class="form-group"> <select name="" class="form-control" ng-model="city" ng-change="onChange(e)" id="city"> <option value="DELHI">DELHI</option> <option value="BANGALORE">BANG

以下是我的angular typeahead HTML代码:

<div class="form-group">
 <select name="" class="form-control" ng-model="city" ng-change="onChange(e)" id="city">
    <option value="DELHI">DELHI</option>
    <option value="BANGALORE">BANGALORE</option>
    <option value="GOA">GOA</option>
    <option value="KOLKATA">KOLKATA</option>
    <option value="PUNJAB">PUNJAB</option>
 </select>
</div>

<input type="search" name="" ng-model="bankName" typeahead='bank_name as bankName | filter:$viewValue | limitTo:8'  id="input" class="form-control" value="" placeholder="Search" required="required" title="">

<table class="table table-hover">
    <thead>
        <tr>
            <th>IFSC</th>
            <th>BANK ID</th>
            <th>BANK NAME</th>
            <th>BRANCH</th>
            <th>ADDRESS</th>
            <th>CITY</th>
            <th>DISTRICT</th>
            <th>STATE</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat="service in services">
            <td>{{service.ifsc}}</td>
            <td>{{service.bank_id}}</td>
            <td>{{service.bank_name}}</td>
            <td>{{service.branch}}</td>
            <td>{{service.address}}</td>
            <td>{{service.city}}</td>
            <td>{{service.district}}</td>
            <td>{{service.state}}</td>
        </tr>
    </tbody>
</table>
问题是我试图在输入字段中获取分支名称,当我键入下表数据时,应根据该名称进行过滤。onChange函数用于选择框。api url的JSON格式如下:

[{
"ifsc": "asdads",
"bank_id": 110,
"bank_name": "abc bank",
"branch": "BANGALORE",
"address": "ewrwerewr",
"city": "BANGALORE",
"district": "BANGALORE URBAN",
"state": "KARNATAKA"
}]

你知道怎么修改吗?被卡住了。请帮助我。

您在使用typeahead指令时弄错了,它的工作方式是,它需要一个promise对象,您将在该对象上应用
$viewValue
过滤器

<input type="search" name="" ng-model="bankName" 
   typeahead='bank_name for bankName in getdata()'
   id="input" class="form-control" value="" 
   placeholder="Search" required="required" title=""/>
注意:如果您使用的是Angular ui bootstrap version 1.X+,则必须在每个ui bootstrap指令之前使用
uib-
前缀,就像在您的情况下使用
uib typeahead
而不是
typeahead


@zmbq你编辑了我的代码你知道我的代码出了什么问题吗?你在使用AngularJS UI引导的typeahead吗?如果是这样,您需要在搜索输入中将
typeahead
更改为
uib typeahead
tag@zmbq是的,我用的是这个@preetyingh,你必须使用
uib-typeahead
then.:)控制台中出现错误:(参数“ServicesCtrl”不是函数,是否确实在html页面上引用了JS文件?检查是否错误地删除了一些JS引用,打开浏览器控制台“源”选项卡并检查所需文件是否已加载?
<input type="search" name="" ng-model="bankName" 
   typeahead='bank_name for bankName in getdata()'
   id="input" class="form-control" value="" 
   placeholder="Search" required="required" title=""/>
$scope.getdata = function(){
    return $http.get($scope.bankUrl+$scope.city).then(function(response){
        $scope.services = response.data;
        return $scope.services;
    });
}

$scope.onChange = function(e){
    return $scope.getdata();
}