Я новичок в 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>
<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>
Я использовал тот же php include в ajaxhandler.php (для создания ответа), что и в начальном запросе страницы - конечно, с другим содержимым. Однако после того, как tbody изменен первой частью javascript, добавление строки больше не работает. Даже если тело, полученное из ответа, имеет те же данные, что и в исходном запросе (когда строка поиска пуста).
Почему это не работает? Какие-нибудь мысли?
Наилучшие пожелания,
Нильс