2016-10-02 6 views
-1

名前、日付、性別、給与などの列を持つテーブルを作成しました。表の上に2つの検索テキストボックスがあります。 1)名前による検索2)給料による検索。私は「完全一致」と呼ばれるチェックボックスを与えました。 「名前で検索」テキストボックスに文字を入力するたびに、その文字が表の名前列にある場合、ページはそれらの行を返します。給料テキストボックスでも同じことが起こります。しかし、完全一致をチェックした後は、正確な値が一致する場合にのみ返されます。たとえば、名前の検索ボックスに「Ben」と入力し、名前の列にBenが表示されている場合は、その特定の行のみが返されます。Angular JSによる完全一致の実行

ここで問題となっているのは文字完全一致は正常に機能していますが、給与列に完全一致を使用して任意の数値を入力すると、値が返されません。同じことが日付とともに起こります。数字を扱っている間にコードに何かを追加する必要があるかどうかはわかりません。ここで

はHTMLコードです:

<!doctype html> 
<html ng-app="myModule"> 
<head> 
<script src="../angular.min.js"> </script> 
<script src="Script12.js"> </script> 
</head> 
<body> 
<div ng-controller="myController"> 
<input type="text" placeholder="search name" ng-model="searchText.name"> 
<input type="text" placeholder="search gender" ng-model="searchText.gender"> 
<input type="text" placeholder="search DOB" ng-model="searchText.dateOfBirth"> 
<input type="text" placeholder="search Salary" ng-model="searchText.salary"> 
<input type="checkbox" ng-model="exactMatch">EXACT MATCH 

<br><br> 
<table> 
<thead> 
<tr> 
<th>Name</th> 
<th>Date Of Birth</th> 
<th>Gender</th> 
<th>Salary</th> 
</tr> 
</thead> 
<tbody> 
<tr ng-repeat="employee in employees |filter:searchText:exactMatch "> 
<td> {{employee.name}}</td> 
<td> {{employee.dateOfBirth | date:"MM/dd/yyyy"}}</td> 
<td> {{employee.gender}}</td> 
<td> {{employee.salary}}</td> 
</tr> 


</tbody> 
</table> 

</div> 
</body> 

</html> 

Javaスクリプトファイル:

/// <reference path="../angular.min.js" /> 

var myApp = angular.module("myModule",[]); 

myApp.controller("myController", function($scope) { 

    var employees = [ 
    {name: "Ben", dateOfBirth: new Date("November 20, 1989"), gender: "Male", salary:50000 }, 
    {name: "Stifler", dateOfBirth: new Date("July 15, 19002"), gender: "Female", salary:700000 }, 
    {name: "Gordon", dateOfBirth: new Date("April 10, 2006"), gender: "Male", salary:900000000 }, 
    {name: "Ramsay", dateOfBirth: new Date("January 18, 1996"), gender: "Male", salary:87864521 }, 
    {name: "Leon", dateOfBirth: new Date("February 8, 2009"), gender: "Female", salary:213265478 } 
    ]; 
    $scope.employees = employees; 


}); 

答えて

0

完全な一致は角上にある場合は給与フィールド . 上の番号に入力タイプを変更しようとするには、厳格なコンパレータを使用して、 ==の代わりに===を使用すると、テキストフィールドタイプを使用するとタイプが一致しません。

+0

ありがとうございます。入力の種類を変更すると、実際に問題が解決しました。 –

関連する問題