2013-02-14 50 views
1

我想知道如何添加一個新的tr和td,包裹從ajax調用接收到的數據?以下不起作用。tr和td圍繞jQuery中的ajax調用數據

$.get('/edit/'+course_id, function(data){ 

    ///add class to current tr 
    $('#course_'+course_id).addClass("info"); 

    $('<tr><td>'+data+'</td></tr>').insertAfter('#course_'+course_id); 

}); 

任何幫助將不勝感激。 謝謝

+0

什麼是響應數據? – Jai 2013-02-14 11:20:33

回答

1

您可以將其添加到表格元素。我認爲在IE中,它需要與tbody連接。

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Untitled Document</title> 
<script src="jquery.js"></script> 
<script> 
$(document).ready(function() { 
    var data='some HTML'; 
    $('<tr><td>'+data+'</td></tr>').insertAfter('#course'); 
}); 
</script> 
</head> 

<body> 
<table> 
<tbody> 
<tr id="course"><td></td></tr> 
</tbody> 
</table> 
</body> 
</html> 
0

(真的)很難回答沒有HTML標記,但是這可能是一個綁定問題:

也許你可以嘗試

var successCourse = function(courseId) { 
    return function(data) { 
     ///add class to current tr 
     $('#course_' + courseId).addClass("info"); 
     $('<tr><td>' + data + '</td></tr>').insertAfter('#course_' + courseId); 
    }; 
}; 

$.get('/edit/'+course_id).done(successCourse(course_id)); 
0

最巧妙的方法可能是...

$.get('/edit/' + course_id, function() { 
    // do whatever else you need to do 
    var formatted = $('<tr/>').append($('<td/>', { html: data })); 
    formatted.insertAfter('#course_' + course_id); 
}); 

這可以避免將html標籤寫入字符串並且必須記住關閉他們等等,讓jQuery爲你做幾乎所有的事情。

這是an example on jsFiddle它顯示它的工作。希望這有助於!