i am using some Roman value(i.e-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. Please check my code below.
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:
$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.