Как получить значения всех отмеченных флажков с помощью jQuery

Я не знаю, как передать выбранные значения флажков. Любая помощь или предложения будут большой помощью для меня.

На данный момент вот мой код, который я задерживаю в передаче значений флажков

index.php

 <table> <?php foreach($response as $item){ echo '<tr><td><input type="checkbox" value="' .$item['id']. '"></td><td>' . $item['name'] . '</td></tr>'; } ?> </table> <button type="button" class="btnadd">AddSelected</button> <script type="text/javascript"> $(function() { $('.btnadd').click(function() { $.ajax({ url: 'process.php', type: 'post', data: { }, // what should I put here to pass the value of checked checkboxes success: function(data) {} }); }); }); </script> 

process.php

 <?php $array_ids = $_POST['ids']; // this will retrieve the id's ?> 

Попробуй это.

HTML-код

 <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('.btnadd').click(function(){ var checkValues = $('input[name=checkboxlist]:checked').map(function() { return $(this).val(); }).get(); $.ajax({ url: 'loadmore.php', type: 'post', data: { ids: checkValues }, success:function(data){ } }); }); }); </script> <input type="checkbox" name="checkboxlist" value="1" checked="checked" /> <input type="checkbox" name="checkboxlist" value="2" checked="checked" /> <input type="checkbox" name="checkboxlist" value="4" /> <input type="checkbox" name="checkboxlist" value="5" checked="checked" /> <input type="checkbox" name="checkboxlist" value="6" />​ 

loadmore.php КОД

 <?php print_r($_POST['ids']); ?> 

OUTPUT IN loadmore.php

 Array ( [0] => 1 [1] => 2 [2] => 5 ) 

Это оно.

Приветствия.

Используйте эту функцию:

  function checkboxValues() { var allVals = []; $(':checkbox').each(function() { allVals.push($(this).val()); }); return allVals; // process the array as you wish in the function so it returns what you need serverside } 

и ваш вызов ajax будет выглядеть так:

 $.ajax({ url: 'process.php', type: 'post', data: { checkboxValues() }, success:function(data){ } 

Вы можете использовать что-то вроде этого перед вызовом ajax:

 var ids=[]; $('input[type=checkbox]:checked').each(function(){ ids.push($(this).val()); }); 

Но настоятельно рекомендуется обернуть ваши флажки в некоторый div и представить его в вашем селекторе jquery. Потому что в настоящее время вы можете выбрать и отправить на сервер некоторые другие флажки на своей странице.

Оберните свои флажки тегом <form> и назовите свои флажки, используя нотацию массива PHP:

 <form id="form1"> <input type="checkbox" name="item[]" value="1"> <input type="checkbox" name="item[]" value="2"> <input type="checkbox" name="item[]" value="3"> </form> 

Использование jQuery.serialize() :

  $(function () { $('.btnadd').click(function () { $.ajax({ url: 'process.php', type: 'post', data: $.serialize("#form1"), success: function (data) {} }); }); }); 

На стороне сервера $_POST["item"] будет массивом, содержащим только проверенные значения.

Получить текст метки списка флажков

 <span> <input type="checkbox" name="mycheckbox[id][]" value="0" /> <label for="mycheckboxid_0">Test0</label> <input type="checkbox" name="mycheckbox[id][]" value="1" /> <label for="mycheckboxid_1">Test1</label> </span> var chkbox = document.getElementsByName('mycheckbox[id][]'); var vals = ""; for (var i=0, n=chkbox .length;i<n;i++) { if (chkbox [i].checked) { var label = "mycheckboxid_"+i; vals += " "+$('label[for="'+label+'"]').html(); } } alert(vals); // output test1 test2 

надеюсь, что это работа для вас

Пожалуйста, попробуйте как этот html:

 <td><?php echo "<input type='checkbox' name='chkimportsikep' class='form-control' value={$TABLE_NAME} checked>" ?></td> 

ajax / jquery:

 $(document).ready(function(){ //handle test button click $("button#importSikep").click(function(){ var checkValues = $('input[name=chkimportsikep]:checked').map(function() { return $(this).val(); }).get(); alert(checkValues); $('#loading-indicator-runsikep').show(); $.ajax({ type:"POST", url:"runsikepimport.php", // your php page action data:{ chkimportsikep: checkValues }, // cache:false, success: function(result){ $('#loading-indicator-runsikep').hide(); alert(result); $('.modal.in').modal('hide'); $("#description-status-sikep").load(location.href + " #description-status-sikep"); //location.reload(true); } }); return false; }); 

});

Действия PHP:

  // don't need array variable, but your using $_POST if(!empty($_POST['chkimportsikep'])) { foreach($_POST['chkimportsikep'] as $table_name) { // do something } }