AngularJS搜索不起作用

时间:2016-03-23 16:45:15

标签: javascript html mysql angularjs

我有一个MySQL数据库和表格。我使用Node JS从中获取数据。我的HTML代码包含输入搜索和包含搜索结果数据的表格。我使用AngularJS进行搜索。

问题是搜索不起作用。我有整张桌子而不是一些结果。

HTML代码的一部分:

<div class="search">
  <form action="" method="post" class="searchform" >
    <input type="search" name="" placeholder="Поиск" class="inputsearchform" ng-model="search"/>
    <input type="submit" name="" value="" class="submitsearchform" />
  </form>
</div>
<div class="songlist" ng-app='test_table' ng-controller='main_control'>
  <table id="songlistTableR">   
    <tr><th>Name</th><th>Link</th></tr>    
    <tr ng-repeat="data in loaded | filter:search">
      <td><i class="fa fa-plus"></i>{{data.song_name}}</td>
      <td><a href="{{data.link}}" target='_blank'>Youtube</a></td>     
    </tr>
  </table>      
</div>

JS脚本:

var app = angular.module('test_table', []);
app.controller('main_control',function($scope, $http){
    load();
    function load(){
        $http.get("http://localhost:7001/load").success(function(data){
            $scope.loaded=data;
        });
    }       
});

1 个答案:

答案 0 :(得分:2)

您的所有角度html代码都需要嵌套在ng-app属性中,因此您的<div class="search">永远不会被Angular解析,包括您的ng-model定义。您应该将代码编辑为:

<div class="songlist" ng-app='test_table' ng-controller='main_control'>
  <div class="search">
    <form action="" method="post" class="searchform" >
      <input type="search" name="" placeholder="Поиск" class="inputsearchform" ng-model="search"/>
      <input type="submit" name="" value="" class="submitsearchform" />
    </form>
  </div>
  <table id="songlistTableR">   
    <tr><th>Name</th><th>Link</th></tr>    
    <tr ng-repeat="data in loaded | filter:search">
      <td><i class="fa fa-plus"></i>{{data.song_name}}</td>
      <td><a href="{{data.link}}" target='_blank'>Youtube</a></td>     
    </tr>
  </table>      
</div>