8

How do you pass a variable from jQuery to PHP without a page refresh? When I click on a checkbox I would like to pass a variable from jQuery to PHP. I am also using formdialog.

My PHP code

<?php
echo "<input name='opendialog' type='checkbox' class='opendialog' onclick='countChecked()' value=".$taskid." ?>" /> </td>"
?>

my javascript code

function countChecked() {
  var n = $("input:checked").length;

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

   });
   $('.sel').text(allVals+' ');
   $('.select1').val(allVals);
   alert(allVals);

    <?php $taskidj=$rowtask['taskID'];
   // echo "aaa...".$rowtask['taskID']; ?>     

}

$(":checkbox").click(countChecked);


// my jquery code


        $('.mydialog').dialog({

            bgiframe: true,
            autoOpen: false,
            modal: true,
            width: 700,
            height:500,
            resizable: false,
            open: function(){closedialog = 1;$(document).bind('click', overlayclickclose);},
            focus: function(){closedialog = 0;},
            close: function(){$(document).unbind('click');},
            buttons: {
                Submit: function(){
                var bValid = true;
            //  allFields.removeClass( "ui-state-error" );

            //  bValid = bValid && checkLength( name, "username", 3, 16 );



            //  bValid = bValid && checkRegexp( name, /^[a-z]([0-9a-z_])+$/i, "Username may consist of a-z, 0-9, underscores, begin with a letter." );





                if ( bValid ) {

                        processDetails();

                        return false;

                }


                },
                Cancel: function() {
                    $( this ).dialog( "close" );
                    $('input[name=opendialog]').attr('checked', false);
                }
            }
        });

    $('.opendialog').click(function() {
            $('.mydialog').dialog('open');
            closedialog = 0;
        });
1

1 Answer 1

25

Ajax can do this. Google it, and check out api.jquery.com and look at the ajax functions, .ajax(), .post(), .get(), .load(), etc.

As for your specific question, here is what you would do:

//Javascript file
$("input[type=checkbox]").click(function () {
   $.post('my_ajax_receiver.php', 'val=' + $(this).val(), function (response) {
      alert(response);
   });
});

//PHP file my_ajax_receiver.php
<?php
   $value = $_POST['val'];
   echo "I got your value! $value";
?>
2
  • hi tandu, Undefined index: val. i use the code isset() function.but i cann't receive the value.
    – geetha
    Commented Mar 5, 2011 at 6:22
  • Check what $(this).val() is. Are you defining a value for your checkbox? Commented Mar 5, 2011 at 6:32

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.