2016-04-06 33 views
-2

角sanitize.js:6類型錯誤:無法讀取的不確定

$scope.searchCat = function(){ 
 
     $scope.searchArray = []; 
 

 
     $scope.searchTerm = $('#search input[type="search"]').val().toLowerCase(); 
 
    }
<ion-header-bar class="bar bar-subheader item-input-inset"> 
 
     <div class="item-input-wrapper"> 
 
     <i class="icon ion-ios-search placeholder-icon"></i> 
 
      <input type="search" name="search" ng-model="searchTerm" style="width: 75%;margin-left:10px;" ng-change="searchCat()" placeholder="search for service"/> 
 
     </div> 
 
    </ion-header-bar>

我試圖使用搜索我的列表中獲得的搜索項進入下一比較,我使用小寫屬性「toLowerCase」 toLowercase,但我得到類型錯誤,因爲不能讀取屬性'toLowercase'的undefined。 請幫我一把。

在此先感謝

+0

謝謝......我嘗試改變ng-model =「searchValue」,因爲我已經使用searchTerm初始化小寫值,然後嘗試將js文件作爲$ scope.searchTerm = $ scope.searchValue.toLowerCase();但它給出了相同的錯誤 –

回答

1

當你這樣做:ng-model="searchTerm"在你的HTML文件,您聲明的雙向數據綁定到$ scope.searchTerm。這意味着你永遠不需要搜索dom元素。

// In the old days using jQuery you do this: 
$('#search input[type="search"]') // But never (seldom) with angular. Ugly as sin. 

相反:

// The binding is already there. 
// Just set the value to something so it won't be undefined. 
$scope.searchTerm = ""; 

$scope.searchCat = function(){ 
    // Or you could do an undefined check: 
    if (!angular.isUndefined($scope.searchTerm)){ 
     $scope.searchTerm = $searchTerm.toLowerCase(); 
    } 
} 

當然,這只是其轉換爲小寫。但我們無法知道你想要什麼$scope.searchArray。進一步解釋。

+0

謝謝你。這個解決方案爲我工作,我被宣佈$ scope.searcharray下一個比較操作抱歉,由於錯誤它附加在代碼 –

相關問題