2017-07-18 2 views
0

Ich möchte Array von Checkbox über Jquery AJAX senden, aber die Antwort ist nicht richtig.POST-Array von Kontrollkästchen über Jquery AJAX

hier die html:

<input type="checkbox" id="krs_id_kelas" name="krs_id_kelas[]" value="0ec81bdf-1fc6-447d-ab65-bc67a857d99c"> 
<input type="checkbox" id="krs_id_kelas" name="krs_id_kelas[]" value="173867c3-5721-4aa2-9344-f5ad9fd05537"> 

Script

$(document).ready(function() { 
$('#form_krs_kolektif').submit(function (event) { 

    var formData = { 
      'krs_id_prodi': $('#krs_id_prodi').val(), //this part is fine 
      'periode': $('#periode_krs option:selected').val(), //this part is fine 
      'krs_id_regis_mhs': $('#krs_id_regis_mhs').val(), //this part is fine 
      'id_kelas[]': $('#krs_id_kelas:checked').serialize() // only this part has a problem 
     }; 
    $.ajax({ 
      type: 'POST', 
      url: '<?=base_url()?>akademik/proses_krs_kolektif/', 
      data: formData, 
      dataType: 'json', 
      encode: true 
     }) 

    event.preventDefault(); 
    }); 

}); 

Wenn ich das POST Ergebnis von PHP Teil print_r, ist die Antwort von der Konsole wie diese

Array 
(
    [0] => krs_id_kelas%5B%5D=0ec81bdf-1fc6-447d-ab65-bc67a857d99c&krs_id_kelas%5B%5D=173867c3-5721-4aa2-9344-f5ad9fd05537 
) 

Was ich will, ist Array wie das, wie kann ich es beheben?

Array 
(
    [0] => 0ec81bdf-1fc6-447d-ab65-bc67a857d99c 
    [1] => 173867c3-5721-4aa2-9344-f5ad9fd05537 
) 
+1

zunächst für beide gleiche ID halten nicht, ändern und überprüfen – Exprator

+0

ich viel Checkbox haben und hat eine Zufallsdaten . Ich kann nicht alle einzeln ändern. Die einzige Möglichkeit ist, als Array zu senden, wenn das Kontrollkästchen aktiviert ist –

+1

Geben Sie dann eine dynamische ID, da die gleiche ID nicht in der gleichen Seite – Exprator

Antwort

2

HTML sollte, statt ID Sie Klasse verwenden müssen:

<input type="checkbox" class="krs_id_kelas" name="krs_id_kelas[]" value="0ec81bdf-1fc6-447d-ab65-bc67a857d99c"> 
<input type="checkbox" class="krs_id_kelas" name="krs_id_kelas[]" value="173867c3-5721-4aa2-9344-f5ad9fd05537"> 

versuchen, dieses Skript:

$(document).ready(function() { 
$('#form_krs_kolektif').submit(function (event) { 
var chekedValue = []; 
$('.krs_id_kelas:checked').each(function(){ 
    chekedValue .push($(this).val()); 
}) 
var formData = { 
     'krs_id_prodi': $('#krs_id_prodi').val(), //this part is fine 
     'periode': $('#periode_krs option:selected').val(), //this part is fine 
     'krs_id_regis_mhs': $('#krs_id_regis_mhs').val(), //this part is fine 
     'id_kelas': chekedValue // only this part has a problem 
    }; 
$.ajax({ 
     type: 'POST', 
     url: '<?=base_url()?>akademik/proses_krs_kolektif/', 
     data: formData, 
     dataType: 'json', 
     encode: true 
    }) 

event.preventDefault(); 
}); 

}); 

und Druck $_POST Sie das gewünschte Ergebnis erhalten.

0

versuchen, diese One
Wechsel von

var formData = { 
    'krs_id_prodi': $('#krs_id_prodi').val(), //this part is fine 
    'periode': $('#periode_krs option:selected').val(), //this part is fine 
    'krs_id_regis_mhs': $('#krs_id_regis_mhs').val(), //this part is fine 
    'id_kelas[]': $('#krs_id_kelas:checked').serialize() // only this part has a problem 
}; 

zu

var formData = $('#form_krs_kolektif').serialize();