【问题标题】:Update div content using PHP and Javascript variables使用 PHP 和 Javascript 变量更新 div 内容
【发布时间】:2026-01-15 13:20:15
【问题描述】:

我是 Ajax 新手,需要一些帮助。

这个想法很简单,我在 div 'list' 中有一个目录列表,当我单击其中一个目录时,div 'content' 必须使用 php 函数列出该目录的内容。

这是我的html代码:

<div id="list">
    <ul>
        <li id="directory_1" class="test">directory_1</li>
        <li id="directory_2" class="test">directory_2</li>
        <li id="directory_3" class="test">directory_3</li>
        <li id="directory_4" class="test">directory_4</li>
    </ul>
</div>
<div id="content">
    <!-- Here you can see the folder content-->
</div>

这是我的 jQuery + Ajax:

$(".test").click(function(){
    var name = $(this).attr("id");

     $.ajax({
            url: 'list.php',
            type: "POST",
            data: ({folder: name}),
        }); 
});

它工作,我到达list.php。在 PHP 上,我有一个列出目录内容的函数。

那么如何使用 php 函数刷新“内容 div”?

因此,如果我点击 directory_1,它将显示 /var/www/pg/directory_1 文件夹,然后如果我点击 directory_2,它将清除“内容”div,然后列出 directory_2 文件夹。

这是一个没有 PHP 代码的 jsfidde:

http://jsfiddle.net/e5v1dgpc/

对不起我的英语,如果有人有问题我会尽力澄清。

【问题讨论】:

    标签: javascript php ajax refresh


    【解决方案1】:

    你可以这样做:

    jQuery('#content').html('');
    

    这只会将 html 中的所有内容设置为空白。

    或者我认为你可以使用 .empty() - http://api.jquery.com/empty/

    如果您在函数开始时调用它,那么它应该在重新填充之前清除 div。

    $(".test").click(function(){
        var name = $(this).attr("id");
        $( "#content" ).empty();
        $.ajax({
            url: 'list.php',
            type: "POST",
            data: ({folder: name}),
        }); 
    });
    

    为了设置 ajax 的目标,您可以在成功条件下执行类似的操作。您需要对其进行更改以显示您想要的任何内容。

    $.ajax({
        url: 'list.php',
        type: 'POST',
        success: function(html) {
            var divSuccess = $('#content', $(html)).addClass('updated');
            $('#content').html(divSuccess);
        }
    });
    

    此链接也可能对您有用 - jquery ajax load certain div

    【讨论】:

    • 清空#content div,但是ajax代码会使用“#content”作为目标?在我的 php 函数(list.php)上只有
    • 与目录的内容。
  • 上面的代码不会改变ajax代码,.empty肯定在ajax调用之前?我以为您想清除
    内的所有内容
  • 是的,我想清除#content,empty() 会这样做:D 但是...如何在#content div 上执行Ajax 查询? (作为“目标”标签)
  • 你可以通过设置目标 $ajax({ target: '#content' });您可能还想在那里设置成功条件。
  • 在成功示例中添加了答案。
  • 【解决方案2】:

    您可以清空它,而不是最初清空“内容”div
    Ajax帖子的OnSuccess,如下:

    $(".test").click(function(){  
    
        var name = $(this).attr("id");    
    
        $.ajax({  
        url: 'list.php',  
        type: "POST",  
        data: ({folder: name}),  
        success: function(){
                  $( "#content" ).empty();
                 }
        });   
    });  
    

    希望这就是你要找的……

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签