遍历DOM以更新表的内容

时间:2012-08-05 18:45:31

标签: jquery

我正在尝试将一些动态生成的html(通过PHP)插入到表中,但是使用JQuery函数遍历DOM令人尴尬。

这是我的表:

<table id = "tasks_table">
        <tr>
            <th>Date</th>
            <th>Hours</th>
            <th>Task</th>
            <th></th>
        </tr>
        <tr id = "form">
            <form action="index.php" method="POST" id="task_form">
                <td><input type="text" id="deadline_text" name="deadline_text"/></td>
                <td><input type="text" id="duration_text" name="duration_text"/></td>
                <td><input type="text" id="description_text" name="description_text"/></td>
                <td><input type="submit" value="Add Task" id="task_submit"/></button></td>
            </form>
        </tr>

        <?php
            //TaskDB::generateTaskTable();
        ?>
        </table>

...代码将在PHPcomment所在的位置 - 在第二行之后。我尝试过使用:n-child和其他几个没有成功。任何帮助将不胜感激!

Jquery的:

<script>
        $(document).ready(function(){
            $('#task_submit').on('click', function(e){
                $.post('index.php', $("#task_form").serialize(), function(data){

                    $(' ').append(data);
                    console.log(data);
                });
                e.preventDefault();
            });
        });
    </script>

2 个答案:

答案 0 :(得分:0)

尝试使用示例here记录的afterinsertAfter方法,例如

$(php_code).insertAfter('#form')

其中php_code是您要插入的代码。

答案 1 :(得分:0)

好吧,将click更改为submit。您可以将事件绑定到表单上的提交事件。

而且你无处可寻:

$(' ').append(data);

在其中放置一个选择器,将其附加到页面上的实际元素。

编辑:哎呀,我现在得到了问题。 :P

与Ghopper21的答案类似,你也可以这样做:

$("#form").after( [html content to add] );