Reputation: 1413
I have a form that takes the attendance of staffs. After submit I need the checkbox to be checked for the selected staffs. The form is submitted through ajax. Below is the code that inserts the attendence of the whole staffs.
var _data = new FormData($('#formaction')[0]);
$.ajax({
type: 'POST',
dataType:"json",
processData: false,
contentType: false,
url: '<?php echo base_url();?>SchoolAdmin/insertAttendance',
data: _data,
success: function (result) {
console.log(result);
staffattendance();
}
});
function staffattendance()
{
var fullDate = new Date();
var twoDigitMonth = ((fullDate.getMonth().length+1) === 1)? (fullDate.getMonth()+1) : '0' + (fullDate.getMonth()+1);
//var currentDate = fullDate.getDate() + "/" + twoDigitMonth + "/" + fullDate.getFullYear();
var currentDate = fullDate.getFullYear()+"-"+ twoDigitMonth +"-"+fullDate.getDate();
$.ajax({
type: 'POST',
dataType:"json",
url: '<?php echo base_url();?>SchoolAdmin/staffattendance',
data: {currentDate:currentDate},
success: function (result) {
$.each(result, function (i, item) {
console.log(result[i].staff_id);
$('.teachers').prop('checked', true);
});
}
});
}
Here I called a function staffattendance(), to get the staff id of staffs who is present on the current day. So i need to match the staff id I received through this function with the checkbox field and should be in checked mode. Below is the code that dynamically generates checkboxes with staff name.
<?php foreach($teacher as $row)
{?>
<tr><td>
<?php echo $row->name;?>
</td>
<td>
<input type="checkbox" name="teachers[]" class="teachers" value="<?php echo $row->staff_id;?>" >
<input type="hidden" name="teachers1[]" class="teachers1" value="<?php echo $row->staff_id;?>">
</td>
</tr>
<?php }?>
So I need to retain the checkbox of the staff_id that i got from staffattendance() fuction .
How this can be achieved.
Upvotes: 0
Views: 76
Reputation: 399
Rose, the question is bit unclear as you do not specify when your table with names and checkboxes are generated and will this table be affected by ajax success..
you could try:
$.each(result, function (i, item) {
console.log(result[i].staff_id);
$('.teachers[value="'+result[i].staff_id+'"]').prop('checked', true);
});
Upvotes: 1