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";
?>
Sign up to request clarification or add additional context in comments.

2 Comments

hi tandu, Undefined index: val. i use the code isset() function.but i cann't receive the value.
Check what $(this).val() is. Are you defining a value for your checkbox?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.