ajax 단추를 클릭하고 ng-repeat가 한 번의 클릭으로 데이터를로드하지는 않지만 두 번 클릭 한로드를 클릭하면 ijax가 호출하지 않습니다. 이유 코드를 확인하십시오 알고단추 누르기 이벤트 ng-click하지만 ng-repeat가로드되지 않을 때 ajax를 호출합니다.
$scope.myData.doClick = function (item,event) {
var startdate = document.getElementById('txtstart').value;
var enddate = document.getElementById('txtend').value;
$.ajax({
type: "POST",
url: "studentattendance.aspx/GetEmployees",
data: JSON.stringify({ title: startdate, songname: enddate}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$scope.studentattendance = {};
$scope.studentattendance = JSON.parse(msg.d);
console.log($scope.studentattendance);
},
error: function (msg) {
alert(msg.d);
}
});
}
// HTML
<tr ng-repeat="info in studentattendance">
<td>{{info.student_name}}</td>
<td>{{info.father_name}}</td>
<td>{{info.class_name}}</td>
<td>{{info.attendancedate | date:'dd-MM-yyyy'}}</td>
<td ng-if="info.attendanceType == 'Present'"> <button type="button" class="btn btn-success btn-circle"><i class="fa fa-check"></i></td>
<td ng-if="info.attendanceType == 'Absent'"> <button type="button" class="btn btn-danger btn-circle"><i class="fa fa-times"></i></td>
<td ng-if="info.attendanceType == 'Leave'"> <button type="button" class="btn btn-warning btn-circle"><i class="fa fa-list"></i></td>
</tr>
여기를 클릭
나는 그것들을 따로 정의해야한다고 생각한다. –
$ .ajax 대신 각도에서 $ http 서비스를 사용하십시오. 데이터는 $ .ajax에서 반환되지만 jQuery의 일부이므로 angular는 그것에 대해 알지 못하기 때문에 다시 렌더링되지 않습니다. 다시 클릭하면 다이제스트주기가 실행되고 새 데이터가 검색되어 다시 그립니다. 그것이 올바른지 알려주고 대답으로 게시 할 것입니다. 다른 옵션은 $ scope를 사용합니다. 성공 콜백에서 $ apply() –