如何创建表然后追加到div并使用jQuery显示表

时间:2014-04-24 22:26:21

标签: jquery asp.net-mvc-3

我想创建一个表然后将其附加到div,并且应该同时显示创建的表。

这就是我尝试过的,

var content = "<table class='table1'>";
$.getJSON("/controller/Method",
{
   param1: val1
}, 
function (data) {
  $.each(data, function (key, value) {
     content += "<tr><td class='class1'>text1</td></tr>";
  });
  content += "</table>"
});
alert(content);

$('#div1').append(content);

alert(content)仅显示table class='table1'>。似乎每个函数中的连接内容尚未添加到table class='table1'>

$.each执行3次,因此它应该有3 <tr></tr>。这段代码有什么问题。请指教。

2 个答案:

答案 0 :(得分:0)

尝试对实例进行此更改。

var content = document.createElement('table');
$(content).addClass('table1');

var myTable = $(content);

$.getJSON("/controller/Method",
{
   param1: val1
}, 
function (data) {
  $.each(data, function (key, value) {
   myTable.append("<tr><td class='class1'>text1</td></tr>");
  });
});

$('#div1').append(myTable);

希望它有所帮助。如果它不起作用,请告诉我。

答案 1 :(得分:0)

您也可以这样写(使用promises)。您可以在此处阅读有关承诺界面的更多信息:http://api.jquery.com/jquery.getjson/

    var table = $("<table></table>").addClass("table1");

    $.getJSON("/controller/Method",{ param1: val1 })
    .done(function(data){
      $.each(data, function (key, value) {
         table.append("<tr><td class='class1'>text1</td></tr>");
      });

    $('#div1').append(table);
   })
   .fail(function(response){
      alert("something is wrong");
   }); 

稍微短一些: - )