代码之家  ›  专栏  ›  技术社区  ›  Dodinas

jQuery加载JSON

  •  0
  • Dodinas  · 技术社区  · 15 年前

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

    <li> 元素。

    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> \
                                                      ');
                                            });
    });
    }
    

    但是,假设我想更新 "#my_div" 稍后再调用这个函数,比如说,每20秒调用一次。如果我重新调用上面的函数,它实际上会再次追加项,从而复制结果。

    我的问题是 (请原谅我不知道):如何重写上面的函数来加载所有事件并刷新它并设置 “我的部门” 全新而不复制?

    非常感谢。

    5 回复  |  直到 15 年前
        1
  •  3
  •   Ignacio Vazquez-Abrams    15 年前

    呼叫 $("#my_div").empty() .each() 打电话。

        2
  •  0
  •   SLaks    15 年前

    你可以打电话给 html function

            $("#my_div").html('
                                         <li> \
                                          <div> \
                                           <input type="checkbox"> \
                                          </div> \
                                          <div>'+v.due_date+'</div> \
                                          <h3> \
                                           <span>'+v.title+'</span> \
                                           </h3> \
                                          </li> \
                                                  ');
    
        3
  •  0
  •   antyrat Andy    15 年前

    使用 html 相反 append

        4
  •  0
  •   Kerry Jones    15 年前

    使用 html('<li>...') 标记——它替换内容而不是附加内容。

        5
  •  0
  •   TheCloudlessSky    15 年前

    Dodinas,你应该使用以下方法:

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