-5

如何使用 php 变量分配 javascript 变量的值

 $(function(){
    $("select[name=myselectlist]").change(function(){
        var id = $(this).val();
        if(id != 0) {       
            $.post("ajax.php", {"id":id}, function(){
                var data = "somedatahere";
                document.getElementById("namesurname").value = data;
            });
        }
    });
});

上面的代码在没有 php 的情况下完美运行。然而,我每次都需要从 mysql 分配“var data”。

4

3 回答 3

6

如果你的 php var 在你有这个函数的文件的范围内,你可以这样做:

var data = "<php echo $myvar; ?>";
于 2013-08-15T10:56:50.587 回答
2

1)你可以像 Shadowfax 写的那样做,但更简单:

var data = '<?=$dbResult?>';

2) 更正确。使用 PHP中的函数将结果传递给 AJAX 响应,json_encode以便您可以重写 JavaScript 代码块,如下所示:

...
$.post("ajax.php", {"id":id}, function(response){
    $("#namesurname").val(response.data);
});

例如,您在后端的 PHP 代码块可能如下所示:

....
if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) AND strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest')) {
    echo json_encode(array('data' => $dbResult));
}
于 2013-08-15T11:34:03.033 回答
1

如果此 javascript 代码在 php 文件中,那么您可以简单地使用代码中更新的 php 变量:-

<?php
// assign a value
$data = 'your data here';
?>

$(function(){
    $("select[name=myselectlist]").change(function(){
        var id = $(this).val();
        if(id != 0) {       
            $.post("ajax.php", {"id":id}, function(){
                var data = "somedatahere";
                document.getElementById("namesurname").value = "<?php echo $data;?>";
            });
        }
    });
});
于 2013-08-15T10:58:24.523 回答