Javascript 如何在JQuery/HTML中反映PHP变量的变化

Javascript 如何在JQuery/HTML中反映PHP变量的变化,javascript,php,jquery,html,Javascript,Php,Jquery,Html,我有一个php中的$return,它会根据表单上发布的内容进行更改。以下是JQuery&HTML代码: $(function() { $('#query_sort').on('change', function(event) { var query_sort = $(this).val(); alert(query_sort); if(query_sort) {

我有一个php中的
$return
,它会根据表单上发布的内容进行更改。以下是JQuery&HTML代码:

$(function() {
           $('#query_sort').on('change', function(event) {
               var query_sort = $(this).val();
               alert(query_sort);

               if(query_sort) {
                   $.ajax({
                       method: "POST",
                       url: "/_php/nds/return_criteria_checkbox.php",
                       data: {query_sort: query_sort}
                   })
                       .done(function(data){
                           alert(<?php echo $query; ?>);
                           $('#dashboard_table_tbody').html(<?php echo $return; ?>);
                   });
               }
            });
        });

即使在我更改表单时,
$return
也会更改,但HTML页面不会反映该更改。表单在更改时自动提交(不刷新网页)。如何更新它?

您混淆了客户端和服务器端技术。
PHP是服务器端语言,JS也是客户端语言

要做您需要的事情,您必须使用javascript。
您的return\u criteria\u checkbox.php文件应该返回如下内容:

return\u criteria\u checkbox.php

echo json_encode(['return_from_php' => 'something you want to return']);
您的HTML文件将变成:

$(function() {
       $('#query_sort').on('change', function(event) {
           var query_sort = $(this).val();
           alert(query_sort);

           if(query_sort) {
               $.ajax({
                   method: "POST",
                   url: "/_php/nds/return_criteria_checkbox.php",
                   data: {query_sort: query_sort}
               })
                   .done(function(data){
                       $('#dashboard_table_tbody').html(data.return_from_php);
               });
           }
        });
    });

您需要从URL返回json格式的数据,您正在通过Ajax发布数据,并对JQuery函数进行轻微更改,正如我在下面所做的那样,您已经准备好了。 下面几行代码用于从Html获取输入并提交,而无需借助JQuery和Ajax刷新页面。我们还需要创建一个名为“return\u criteria\u checkbox.php”的php文件,并将JSON数据发送回该页面

<input type="text" id="query_sort">
<p id="dashboard_table_tbody" style="height: 10px;"></p>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$('#query_sort').change(function(event) {
    var query_sort = $(this).val();
    // alert(query_sort);
    if(query_sort) 
    {
        $.ajax({
            type: "POST",
            url: "return_criteria_checkbox.php",
            data: {query_sort: query_sort},
            cache: false,
            success: function(data)
                {
                    var replaced_Data = data.replace(/\"/g, "");
                    $('#dashboard_table_tbody').html(replaced_Data);
                    $('#query_sort').val('');
                }
            });
    }
});

使用上面的代码就可以了。

php是一种服务器端语言,如果不刷新页面,就无法实现这一点。你必须使用js@GiacomoMasseroniChiaro是的,我不是这么问的<代码>$return可以更改,这很好,但是如何在不刷新的情况下将其反映在网页上?这就是问题:$(“#dashboard"table_tbody”).html()@giacomomasheronicharo在第一次加载时就可以工作,但是一旦
$return
更改,它就不会反映
$return
中的更改。确切地说,$return是PHP代码,正如我所说,PHP是服务器端语言
<?php
// Fetching Values From Ajax URL
$posted_data = $_POST['query_sort'];
echo json_encode($posted_data);
// You can also insert data to database using below lines of code
// $connection = mysql_connect("localhost", "root", "");
// $db = mysql_select_db("mydba", $connection);
// if (isset($_POST['name1'])) {
// $query = mysql_query("insert into form_element(posted_data) values('$posted_data')"); //Insert Query
// echo "Form Submitted succesfully";
// }
// mysql_close($connection); // Connection Closed
?>