2015-10-26 18 views
1

此代碼在ul中追加1個或多個li,但每次運行代碼時,都會繼續追加。 我想用新數據第一次替換附加數據。我嘗試使用.empty,但是如果數據有多個1 li標記,它將僅返回最後一個li,因爲它會清除第一次迭代。使用ajax在ul標記中追加結果

function addCourse(){ 
        $.post("addCourse", function(result){ 
        var response = $.parseJSON(result); 
          $.each(response, function(i, val) { 
           var day = JSON.stringify(val.day).replace(/\"/g, ""); 
           var hour = JSON.stringify(val.hour).replace(/\"/g, ""); 
           var date = day+"_"+hour; 
          $("#div1").append("<li><a data-toggle='tab' href=#"+date+">"+date+"</a></li>"); 
          }); 
       }); 
      } 

HTML代碼

<ul class="nav nav-tabs" id="div1" role="tablist" > 
     <li class="active" id="home"> 
      <a data-toggle="tab" href="#Home" >Home</a> 
     </li> 
</ul> 

回答

0

您嘗試使用.empty,但很可能在錯誤的地方。嘗試$.each,例如之前使用它:

function addCourse() { 
    $.post("addCourse", function(result) { 
    var response = $.parseJSON(result); 
    $("#div1").empty(); 
    $.each(response, function(i, val) { 
     var day = JSON.stringify(val.day).replace(/\"/g, ""); 
     var hour = JSON.stringify(val.hour).replace(/\"/g, ""); 
     var date = day + "_" + hour; 
     $("#div1").append("<li><a data-toggle='tab' href=#" + date + ">" + date + "</a></li>"); 
    }); 
    }); 
} 
+0

它會刪除這個太 Home

+0

而不是'$(」div1「)。empty()',你可以做'$(」div1「)。children()。not('#home')。remove ()' – Buzinas

+0

效果不錯,謝謝h @Buzinas –

0

嘗試使用的.html()

$("#div1").html("<li><a data-toggle='tab' href=#"+date+">"+date+"</a></li>"); 

$("#div1").html('');然後$("#div1").append('...');