简体   繁体   中英

How to pass jQuery variables to PHP variable?

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;
        });

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";
?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM