Php jQuery加载JSON

Php jQuery加载JSON,php,jquery,json,Php,Jquery,Json,我遇到了一个小难题,希望很容易解决 我使用jQuery/JSON/PHP加载一些数据——实际上,加载的数据是几个元素 以下代码正常工作: function load_list() { $.getJSON('json/load.php', function(data) { $.each(data, function(k, v){ $("#my_div").append('

我遇到了一个小难题,希望很容易解决

我使用jQuery/JSON/PHP加载一些数据——实际上,加载的数据是几个
  • 元素

    以下代码正常工作:

    function load_list() {
    $.getJSON('json/load.php', function(data) {
                $.each(data, function(k, v){                                 
                $("#my_div").append('
                                             <li> \
                                              <div> \
                                               <input type="checkbox"> \
                                              </div> \
                                              <div>'+v.due_date+'</div> \
                                              <h3> \
                                               <span>'+v.title+'</span> \
                                               </h3> \
                                              </li> \
                                                      ');
                                            });
    });
    }
    
    函数加载列表(){
    $.getJSON('json/load.php',函数(数据){
    $.each(数据,函数(k,v){
    $(“#我的分区”)。附加('
    
  • \ \ \ \ “+v.到期日+”\ \ “+v.title+”\ \
  • \ '); }); }); }
    但是,假设我想更新
    “#my_div”
    ,然后每隔20秒再次调用该函数。如果我重新调用上面的函数,它实际上会再次追加项,从而复制结果

    我的问题是(请原谅我不知道):我如何重写上面的函数以加载所有事件并刷新它,并将
    “#My_div”
    的HTML设置为全新且不重复

    非常感谢。

    您可以调用设置元素的HTML内容,如下所示:

            $("#my_div").html('
                                         <li> \
                                          <div> \
                                           <input type="checkbox"> \
                                          </div> \
                                          <div>'+v.due_date+'</div> \
                                          <h3> \
                                           <span>'+v.title+'</span> \
                                           </h3> \
                                          </li> \
                                                  ');
    
    $(“#我的分区”).html('
    
  • \ \ \ \ “+v.到期日+”\ \ “+v.title+”\ \
  • \ ');
    您可以调用来设置元素的HTML内容,如下所示:

            $("#my_div").html('
                                         <li> \
                                          <div> \
                                           <input type="checkbox"> \
                                          </div> \
                                          <div>'+v.due_date+'</div> \
                                          <h3> \
                                           <span>'+v.title+'</span> \
                                           </h3> \
                                          </li> \
                                                  ');
    
    $(“#我的分区”).html('
    
  • \ \ \ \ “+v.到期日+”\ \ “+v.title+”\ \
  • \ ');
    使用
    html
    而不是
    append
    使用
    html
    而不是
    append
    调用
    $(“#my_div”).empty()
    在包含
    的匿名函数的开头。each()
    调用。

    调用
    $(“#我的div”).empty()
    在包含
    .each()
    调用的匿名函数的开头。

    使用
    html(“
  • ..”)
  • 标记--它替换内容而不是追加内容。

    使用
    html(“
  • ..”)
  • 标记--它替换内容而不是追加内容。

    Dodinas,您需要使用以下命令:

    $("#my_div").html('<li>...</li>');
    
    $(“#my_div”).html(“
  • ”);

    使用html()方法插入html。

    Dodinas,您需要使用以下内容:

    $("#my_div").html('<li>...</li>');
    
    $(“#my_div”).html(“
  • ”);

    使用html()方法插入html。

    +1-所有其他答案都忘记了这是一个循环:)嗨,Ignacio,谢谢你的回复。这确实奏效了。我可以在7分钟内接受这个“正确”的答案(根据SO)。+1-所有其他答案都忘记了这是一个循环:)嗨,伊格纳西奥,谢谢你的回答。这确实奏效了。我可以在7分钟内接受这个“正确”的答案(根据SO)。