2014-01-08 89 views
0

我正在創建我的第一個angularjs應用程序。我有一個搜索輸入,我想要加載一個頁面並顯示內容。使用angularjs加載鍵盤上的html片段輸入

<input ng-enter="doSomething()" type="text" ng-model="drugSearch" 
     datasets="drugSearchDataset" class="sfTypeahead form-control" 
     placeholder="Search by generic or brand names"> 

我還創建了一個指令,用於捕獲進入關鍵

drugformApp.directive('ngEnter', function() { 
    return function (scope, element, attrs) { 
    element.bind("keydown keypress", function (event) { 
     if(event.which === 13) { 
      scope.$apply(function(){ 
       scope.$eval(attrs.ngEnter); 
       scope.searchdrug($(event.target).val()); 
      }); 

      event.preventDefault(); 
     } 
    }); 
    }; 
}); 

在我的控制,我有

$scope.searchdrug = function($searchString) { 
     var url = URLsArray['typeAheadSrcURL'][URLmode] + "/%QUERY.json" 
     url = url.replace('{filter}',$('#src-button').val()); 
     url = url.replace('%QUERY.json',$searchString+".json"); 
     $http.get(url).success(function(data) { 
      if (data.drugmaster.length == 0){ 
       alert("No records found"); 
       return; 
      } 
      console.log(data.drugmaster); 
     }); 
    }; 

我的$ http.get(URL)返回一些JSON數據。 所以我不確定現在加載一個html代碼片段並填充它的正確方法。

對於我正在做的其他東西,我的路由器做了類似的事情。我想以某種方式撥打路由器?這是我對如何最好地繼續困惑。

感謝所有幫助

drugformApp.config(function ($httpProvider, $routeProvider) { 
    $httpProvider.interceptors.push('httpInterceptor'); 
    $routeProvider 
    .when('/', { 
     templateUrl: '/snippets/home.html', 
     controller: 'mainController' 
    }) 
    .when('/search/:drug_Id', { 
     templateUrl: '/snippets/drugview.html', 
     controller: 'searchCtrl' 
    }) 
}); 
+0

什麼HTML片段?哪裏? – Stewie

+0

這就是問題。 html代碼片段是/snippets/searchresults.html。但我不確定$ scope.searchdrug應該如何加載$ http.get之後的/snippets/searchresults.html還是有辦法調用路由器? – randy

回答