我有一个ajax POST方法,我在这里使用FreeMarker模板的响应html(addNewRow.ftl)。响应html由两个div元素组成 - 一个包含表行数据,另一个包含验证错误。
将表格行附加到表格主体时,缺少tr标记 - 导致显示不正确。我目前正试图传递围绕虚拟表标签的数据,看看是否能解决问题。与此同时,我感谢任何指导。
html代码
<table>
<tbody>
<tr>
<td><input value="R1C1"></td>
<td><input value="R1C2"></td>
</tr>
</tbody>
</table>
js code
jQuery(function ($) {
//to simulate the ajax request
var html = '<div id="mainDiv"><tr>\
<td>\<input value="R2C1">\</td>\
<td>\<input value="R2C2">\</td>\
</tr></div><div id="errDiv">error Test</div>';
var obj = $('table')
$.post('/echo/html/', {
html: html
}, function (template) {
console.log(template);
var mainDiv = $(template).filter('#mainDiv');
console.log(mainDiv);
var errDiv = $(template).filter('#errDiv');
console.log(errDiv);
obj.find('tbody').append(mainDiv);
obj.find('tbody').before(errDiv);
}, 'html');
})
答案 0 :(得分:0)
最终为我工作的解决方案是在tr html周围包装一个表标签,然后从div元素中提取tr html。