AJAX:向表中添加新行或使用AJAX删除

时间:2013-09-25 06:02:04

标签: javascript php jquery ajax

这是逻辑: 我输入了一些表格,表格是AJAX实时搜索。在找到值之后,我点击“添加”按钮,它会在现有的表/ tbody中创建新行。

<table class="standard">
    <thead>
        <tr>
            <td colspan="2">
                Start Input barcode / Product Name
            </td>
            <td colspan="4">
                <input type="text" size="90" value="" placeholder="Barcode / Product Name">
            </td>
            <td>
                <button class="tambah"><i class="icon-plus"></i> Add</button>
            </td>
        </tr>

        <tr>
            <td>
                No.
            </td>
            <td>
                Kode Barang
            </td>
            <td>
                Nama Barang
            </td>
            <td>
                Qty
            </td>
            <td>
                Harga
            </td>
            <td>
                Disc %
            </td>
            <td>
                Total
            </td>
        </tr>
    </thead>
    <tbody>

    <!-- when button add is click that will add <tr></tr> here -->
    </tbody>
</table>
我能这样做吗?如果是这样,怎么样?

小提琴示例:http://jsfiddle.net/anggagewor/cauPH/

4 个答案:

答案 0 :(得分:7)

试试这个

var scntDiv = $('#p_scents');
var i = $('#p_scents tr').size() + 1;

$('#addScnt').click(function() {
    scntDiv.append('<tr><td><select name="type" id="type"><option value="Debit">Debit</option><option value="Credit">Credit</option></select></td><td><select name="accounts" id="accounts"><option value="">SELECT</option><option value="One">One</option><option value="Two">Two</option></select></td><td><input type="text" name="debit_amount" id="debit_amount"/></td><td><input type="text" name="credit_amount" id="credit_amount"/></td><td><a href="#" id="remScnt">Remove</a></td></tr>');   
    i++;
    return false;
});

//Remove button
$(document).on('click', '#remScnt', function() {
    if (i > 2) {
        $(this).closest('tr').remove();
        i--;
    }
    return false;
});​

这是一个有效的示例,包括删除行功能:DEMO

答案 1 :(得分:7)

您可以在下面找到伪代码。

$('#button_id').on('click', function(e) {
    $.ajax({
        url : yourUrl,
        type : 'GET',
        dataType : 'json',
        success : function(data) {
            $('#table_id tbody').append("<tr><td>" + data.column1 + "</td><td>" + data.column2 + "</td><td>" + data.column3 + "</td></tr>");
        },
        error : function() {
            console.log('error');
        }
    });
});

答案 2 :(得分:0)

$("<tr><td>.....content...<td><a class='remove'>remove</a>").appendTo("#tableid tbody").find('.remove').click(function () {
    $(this).parent().parent().remove();
});

答案 3 :(得分:0)

在你的ajax回复中,你可以这样做

$("#myTable > tbody").append('<tr><td>my data</td><td>more data</td></tr>');

'#myTable'将替换为您的表格ID或类,<td>my data</td><td>more data</td>将替换为您的内容