[英]Unable to filter some value from table using angular.js
i am using some Roman value( ie-I,II,III,......VIII
) in my table but when trying to filter table using these value for some value the filtration process is happening and for some value its not happening using angular.js. 我在表中使用了一些罗马值(
ie-I,II,III,......VIII
),但是当尝试使用这些值对表进行过滤时,某些值正在发生过滤过程,而某些值却未发生使用angular.js。 Please check my code below. 请在下面检查我的代码。
subject.html:
subject.html:
<table class="table table-bordered table-striped table-hover" id="dataTable" >
<colgroup>
<col class="col-md-1 col-sm-1">
<col class="col-md-2 col-sm-2">
<col class="col-md-2 col-sm-2">
<col class="col-md-2 col-sm-2">
<col class="col-md-2 col-sm-2">
<col class="col-md-2 col-sm-2">
<col class="col-md-1 col-sm-1">
</colgroup>
<thead>
<tr>
<th>Sl. No</th>
<th>
<select style="width:100%; border:none; font-weight:bold;" ng-options="sub.name for sub in noCourse track by sub.value" ng-model="search" ng-change="selectedCourseTable();" >
<!-- <option value="">Course Name</option>-->
</select>
</th>
<th>
<select style="width:100%; border:none; font-weight:bold;" ng-options="sem.name for sem in noSemestersTable track by sem.value" ng-model="semesterSearch">
<option value="">Semester</option>
</select>
</th>
<th>Subject Name</th>
<th>Short Name</th>
<th>Edit</th>
</tr>
</thead>
<tbody id="detailsstockid">
<tr ng-repeat="sub in subjectData | filter:{course_name:search.value, semester:semesterSearch.value }" >
<td>{{ $index+1 }}</td>
<td>{{sub.course_name}}</td>
<td>{{sub.semester}}</td>
<td>{{sub.subject_name}}</td>
<td >{{sub.short_name}}</td>
<td>
<a href='#subject?s_i={{sub.subject_id}}'>
<input type='button' class='btn btn-xs btn-green' value='Edit'>
</a>
</td>
</tr>
</tbody>
</table>
For bind the data dynamically in table i have some db operation and inside the database the Roman values are also stored.Check my controller file. 为了动态绑定表中的数据,我有一些数据库操作,并且在数据库中还存储了罗马值。请检查我的控制器文件。
subjectController.js:
subjectController.js:
$http({
method: 'GET',
url: "php/subject/readCourse.php",
}).then(function successCallback(response) {
angular.forEach(response.data, function(obj){
var Course={'name':obj.course_name , 'value':obj.course_name};
$scope.noCourse.push(Course);
});
},function errorCallback(response) {
});
$scope.selectedCourseTable=function(){
if($scope.search.value=='Bachelor of Technology'){
$scope.noSemestersTable=[
{name:"I",value: "I"},
{name:"II",value:"II"},
{name:"III",value: "III"},
{name:"IV",value: "IV"},
{name:"V",value:"V"},
{name:"VI",value: "VI"},
{name:"VII",value:"VII"},
{name:"VIII",value:"VIII"}
];
}
if($scope.search.value=='Master in Technology'){
$scope.noSemestersTable=[
{name:"I",value: "I"},
{name:"II",value: "II"},
{name:"III",value:"III"},
{name:"IV",value:"IV"}
];
}
if($scope.search.value=='Master of computer application'){
$scope.noSemestersTable=[
{name:"I",value:"I"},
{name:"II",value: "II"},
{name:"III",value:"III"},
{name:"IV",value:"IV"},
{name:"V",value:"V"},
{name:"VI",value:"VI"}
];
}
if($scope.search.value==''){
$scope.noSemestersTable=null;
}
}
When i am selecting the value III
onward the filtering is occurring properly but when i am selecting I or II
from drop down its not happening ,all values are showing.Actually i am confused about this issue for some value filter is working properly but for some value not working.Please help me to resolve this issue. 当我继续选择值
III
,过滤正常进行,但是当我从下拉列表中选择I or II
,则未显示所有值。实际上,我对此问题感到困惑,因为某些值过滤器正常工作,但对于某些情况价值不起作用。请帮助我解决此问题。
I think it is the way how filter
works. 我认为这是
filter
工作的方式。 The match in the way you are using it right now is not strict. 您当前使用方式的匹配并不严格。 I think you should use
sub in subjectData | filter:{course_name:search.value, semester:semesterSearch.value }:true
我认为您应该
sub in subjectData | filter:{course_name:search.value, semester:semesterSearch.value }:true
使用sub in subjectData | filter:{course_name:search.value, semester:semesterSearch.value }:true
sub in subjectData | filter:{course_name:search.value, semester:semesterSearch.value }:true
. sub in subjectData | filter:{course_name:search.value, semester:semesterSearch.value }:true
。
Notice the true
value at the end of the filter
- this makes the comparison to be strict. 注意
filter
末尾的true
值-这使比较严格。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.