2016-05-12 1 views
0

Ich habe ein Formular, das die Anwesenheit von Mitarbeitern dauert. Nach dem Senden muss das Kontrollkästchen für die ausgewählten Mitarbeiter aktiviert sein. Das Formular wird über Ajax gesendet. Unten ist der Code, der die Anwesenheit des gesamten Stabs einfügt.Machen Sie die Checkbox, die nach dem Senden überprüft, mit Ajax sichtbar

 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); 
       }); 

      } 

}); 


} 

Hier rief ich eine Funktion staffattendance(), die Mitarbeiter-ID von Personal zu bekommen, die am aktuellen Tag vorhanden ist. Also muss ich die Personal-ID, die ich durch diese Funktion erhalten habe, mit dem Checkbox-Feld abgleichen und sollte im Check-Modus sein. Unten ist der Code, der Checkboxen mit dem Personalnamen dynamisch generiert.

 <?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 }?> 

Also muss ich das Kontrollkästchen der staff_id behalten, die ich von staffattendance() fuction bekam.

Wie dies erreicht werden kann.

Antwort

1

Rose, ist die Frage wenig unklar, wie Sie nicht angeben, wenn Sie Ihre Tabelle mit Namen und Kontrollkästchen generiert werden, und wird diese Tabelle von Ajax-Erfolg beeinflusst werden ..

Sie könnten versuchen:

$.each(result, function (i, item) { 
    console.log(result[i].staff_id); 
    $('.teachers[value="'+result[i].staff_id+'"]').prop('checked', true); 
}); 
Verwandte Themen