如何将jQuery变量传递给PHP变量?

8
如何在不刷新页面的情况下从jQuery传递变量到PHP?当我点击复选框时,我想从jQuery传递一个变量到PHP。我还使用formdialog。
我的PHP代码:
<?php
echo "<input name='opendialog' type='checkbox' class='opendialog' onclick='countChecked()' value=".$taskid." ?>" /> </td>"
?>

我的JavaScript代码

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
可能是重复的问题:如何使用jQuery POST从JavaScript传递变量到PHP - deceze
1个回答

25

Ajax可以实现这个功能。在谷歌上搜索并查看api.jquery.com,了解ajax函数,.ajax()、.post()、.get()、.load()等等。

至于你的具体问题,以下是你需要做的:

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

嗨tandu,Undefined index: val。我使用了isset()函数的代码,但是我无法接收到值。 - geetha
检查 $(this).val() 是什么。你是否为复选框定义了一个值? - Explosion Pills

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接