Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get the values of all checked checkboxes using jQuery

I don't know how to pass the selected values of the checkboxes. Any help or suggestions will be a big help for me.

As of now here is my code I am stuck in passing the values of the checkboxes

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
?>
like image 608
GrayFullBuster Avatar asked Jan 23 '13 07:01

GrayFullBuster


2 Answers

Try This.

HTML CODE

<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 CODE

<?php

    print_r($_POST['ids']);

?>

OUTPUT IN loadmore.php

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

That's IT.

Cheers.

like image 75
Dipesh Parmar Avatar answered Nov 03 '22 11:11

Dipesh Parmar


Use this function :

 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
  }

and your ajax call will look like this:

$.ajax({
    url: 'process.php',
    type: 'post',
    data: { checkboxValues() }, 
    success:function(data){         }
like image 5
Udan Avatar answered Nov 03 '22 10:11

Udan