2014-01-23 4 views
0

У меня есть div id. Мне нужно добавить таблицу со значениями в div.jquery добавить таблицу в div

<div id="testResult" style="padding-left: 120px; "></div> 

Я делаю последующие шаги, но он не работает.

$.ajax({ 
    url: '/getReports', 
    cache: false 
}).done(function (html) { 
    if (html != "") { 
     $('#testResult').show(); 
     var htm = ""; 

     var string1 = '<table border="1"><tr><td>No</td><td>Testcase</td> <td>OS</td> <td>Browser</td> <td>Result</td></tr></table>'; 
     $.each(html, function (i, data) { 

      string1 + = '<tr><td rowspan="3">1</td><td rowspan="3">' + data.status.test + '</td><td rowspan="3"><!--OS--></td><td>' + data.status.bwser + '</td> <td> ' + data.status.report + ' </td></tr>'; 
     }); 
     $('#testResult ').append(string1); 
     $("#testResult").html("<br/><br/>"); 
     $("#testResult").html("<p>" + htm + "</p>"); 
    } 

}).fail(function() { 
    $("#testResult").html("Failed to run the test"); 
    $('#edit ').removeAttr("disabled"); 
}); 
+0

извините ... но он не работает – Sush

+3

вы добавляете строку1, затем вы перезаписываете «

» и снова перезаписываете пустой htm. это имеет смысл –

+0

Вы переписываете содержимое с помощью .html() – timo

ответ

5

$("#testResult").html("<br/><br/>") и $("#testResult").html("<p>" + htm + "</p>") перезаписывает содержимое DIV "TestResult". Таким образом, замените этот

$('#testResult ').append(string1); 
     $("#testResult").html("<br/><br/>"); 
     $("#testResult").html("<p>" + htm + "</p>"); 
} 

с

$('#testResult ').append(string1); 
     $("#testResult").append("<br/><br/>"); 
     $("#testResult").append("<p>" + htm + "</p>"); 
} 

.append(): Будет ли добавить или добавить дополнительные строки в существующих содержание DIV где, как

.html (): Удаляет или перезаписывает существующее содержимое DIV более новым.

Это основное различие между .append() и .html().

+0

@Pushkar: см. мой обновленный ответ, который поможет вам понять основную разницу между обоими. –

2

редактировать эту часть

$("#testResult").append("<br/><br/>"); 
    Remove this part--> 
    $("#testResult").html("<p>" + htm + "</p>"); 

HTM пустая строка, как вы никогда не сцепить любую строку к нему

+0

добавление перерыва имеет смысл, но добавление пустой строковой переменной - нет. спасибо, я отредактировал соответственно –

Смежные вопросы