add a new row in a table

Possible Duplicate:
Add table row in jQuery

I want to add a new row to my table on a change event. Here is what I have so far:

$('#CourseID').change(function() {
    $('#CourseListTable > tr > td:last').append('<td>...</td>');
});

Here is my table:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>    
<table id="CourseListTable">
    <tr>
        <th>Course ID</th>
        <th>Course Section</th>
        <th>Level</th>            
    </tr>
    <tr>
        <td><select name="CourseID" id="CourseID"></select></td>
        <td><select name="CourseSection" id="CourseSection"></select></td>
        <td><select name="Level" id="Level"></select></td>            
    </tr>
</table>

I am not able to get this to work. I am missing something over here can anyone let me know where my error lies?

Thanks in advance.


You mention append Row but in your code you are appending just cells.

If you need to actually append a full row, try this:

$('#CourseID').change(function() {
    $('<tr/>').append('<td>...</td>').insertAfter('#CourseListTable tr:last');
});

This line:

$('#CourseListTable > tr > td:last').append('<td>...</td>');

appends a TD ( <td>...</td> ) to an existing TD ( td:last ); you want to append it to a TR, eg.

$('#CourseListTable > tr').append('<td>...</td>');

Of course, you mentioned wanting to add a new row, in which case you shouldn't be appending a <td> at all, you should be appending a <tr> (and you should append it to the table, obviously).


$('#CourseID').change(function() {
    $('#CourseListTable > tbody > tr:eq(1)').append('<td>...</td>');
});
链接地址: http://www.djcxy.com/p/22964.html

上一篇: 我如何动态添加表格行

下一篇: 在表中添加新行