Я пытаюсь передать массив из jQuery в PHP.Как передать массив со всеми элементами с jquery в php
<input type="checkbox" id="name1" name="name[]" value="name1"> Name1
<input type="checkbox" id="name2" name="name[]" value="name2"> Name2
<input type="checkbox" id="name3" name="name[]" value="name3"> Name3<br />
<input type="checkbox" id="phone1" name="phone[]" value="samsung"> Samsung
<input type="checkbox" id="phone2" name="phone[]" value="nokia"> Nokia
<input type="checkbox" id="phone3" name="phone[]" value="motorola"> Motorola<br />
$(document).ready(function() {
$(":checkbox").on('change', function() {
var group = [];
var mygroup = {};
$(':checkbox:checked').each(function(i){
var val = this.value;
var name = this.name;
mygroup[name] = val;
var all = name + "=" + val;
group.push(all);
$.ajax({
type: "POST",
url: 'testdraft1.php',
data: mygroup, // TRIED WITH group and all also. Doesn't work.
success: function(data) {
$("#result").html(data);
}
});
});
});
});
С помощью этого кода массив передается в PHP, но только с 1 элементом. Даже если я выберу несколько элементов. Что я делаю не так?
все ваши входы имеют одинаковые идентификаторы и имена. Измените это – Roysh
Это потому, что вы инициализируете массив каждый раз, когда есть изменения в флажке. Переместить массив вне '$ (": checkbox "). On ('change', function() {' – Pugazh
Изменено, оно все равно делает то же самое. Все еще не включает все элементы. – Somename