我对 jQuery 有点陌生,刚刚创建了以下内容: 一个上面有一个文本字段的表,该表显示了数据库中的匹配项:
<script>
$('#searchRecept > #searchReceptAjax').keyup(function(){//Werkt dit?
var postRecept = $.post("../ajaxhandler.php?action=searchRecept", $('#searchRecept').serialize());
postRecept.done(function( data ) {
var response = $("<div>" + data + "</div>").find('tbody');
$('#recepten > tbody').replaceWith( response );
});
});
</script>
这工作得很好。在此之前,我创建了一个链接(在 tbody 的每一行中都有一个)以在该行之后插入一个新行:
<script>
$('.addingredient').click(function(e){
$('<tr><td colspan="5">test</td></tr>').insertAfter($(this).closest('tr'));
});
</script>
tbody 看起来像这样:
<tbody>
<tr>
<td>Something...</td>
<td>Something else.</td>
<td>Probably some text here.</td>
<td>...</td>
<td>???</td>
<td><a href="#" class="addingredient">aap</a></td>
</tr>
</tbody>
我在 ajaxhandler.php 中使用了与初始页面请求相同的 php 包含(以创建响应) - 当然还有其他内容。但是,在第一段 javascript 更改 tbody 后,添加一行不再起作用。即使来自响应的 tbody 具有与初始请求中相同的数据(当搜索字符串为空时)。
为什么这不起作用?有什么想法吗?
亲切的问候,
尼尔斯