如何在没有页面刷新的情况下将变量从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;
});
答案 0 :(得分:23)
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";
?>