2010-06-28 3 views
0

Попытка манипулировать таблицей с помощью jQuery, и я просто не могу заставить ее работать правильно. Пустые работы просто прекрасные, но я не могу добавить содержимое обратно на стол после.jQuery Обработка таблиц

Любые предложения о том, что я могу делать неправильно?

<table id="schedualtable"> 
    <tbody id="sortable"> 
     <tr><td></td></tr> 
    </tbody> 
</table> 

$('#schedualtable > tbody:last').empty().append($.get('incl/ajax_category.php?action=filtercat', {'cata': $('#filtercat').val()})); 

$('#sortable').empty().append($.get('incl/ajax_category.php?action=filtercat', {'cata': $('#filtercat').val()})); 

ответ

3

Вместо $.get() вы должны использовать .load(), например:

$('#sortable').load('incl/ajax_category.php?action=filtercat', 
        {'cata': $('#filtercat').val()}); 

$.get() не возвращает данные, он доступен в это метод обратного вызова, хотя. .load() действительно принимает результат и помещает его в этот элемент.

Для метода $.get(), было бы выглядеть следующим образом:

$.get('incl/ajax_category.php?action=filtercat', {'cata': $('#filtercat').val()}, 
     function(data) { $('#sortable').html(data); }); 
0

Вы бы не хотели использовать .html() вместо .append(), так как вы помещаете содержимое внутри и тогда вам не нужно .empty() также?

+1

В этом случае это не основная проблема, ['$ .get()'] (http://api.jquery.com/jQuery.get/) возвращает объект 'XmlHttpRequest', а не фактический результат/строку (это асинхронная операция), поэтому содержимое, входящее в методы '.html()' или '.append()', не было бы полезно. –

+0

Сначала пробовал html. Извините, не добавил в сообщение. –

Смежные вопросы