javascript - 在单击添加功能后添加另一行

标签 javascript jquery

我有这个书面函数:

        $(".tdAdd").on("click", function () {
        counter = $('#myTable tr').length - 3; //supposing i only have 2 data
        var count = $("#myTable").length;
        var newRow = $("<tr>");
        var cols = "";
        cols += '<td><input type="button" value="Add" class="tdAdd"/></td>';
        cols += '<td><input type="text" name="name' + counter + '"/></td>';
        cols += '<td><input type="text" name="price' + counter + '"/></td>';

        cols += '<td><input type="button" class="ibtnDel"  value="Delete"></td>';
        newRow.append(cols);
        $("table.order-list").append(newRow); // this is adding row to the end. but i want i on a specific row after where the add button was clicked
        counter++;
    });

    $("table.order-list").on("click", ".ibtnDel", function (event) {
        $(this).closest("tr").remove();
    });




});

我的 table 是这样的:

<table id="myTable" class="order-list">
<thead>
    <tr>
        <td></td>
        <td></td>
        <td>Name</td>
        <td>Price</td>
    </tr>
</thead>
<tbody>
    <tr>
           <td style="text-align: left;">
            <input type="button" id="addrow" value="Add Row" />
        <td>
            <input type="text" name="name" />
        </td>
        <td>
            <input type="text" name="price1" />
        </td>
        <td>
            <input type="button" value="Delete" class="ibtnDel"/>
        </td>
    </tr>
</tbody>        

</table>

这是一个示例 Fiddle

我想在单击“添加行”按钮的位置下方添加另一行。 fiddle 只会在表格底部添加行,并且只有第一个按钮可以工作。任何帮助,将不胜感激。谢谢!

我尝试过:

$("table.order-list").eq(count-1).after(newRow)

但我仍然无法让代码工作

最佳答案

您需要将事件监听器应用于文档,因为该按钮是动态创建的。例如:

$(document).on("click", '.tdAdd', function () { ... }

查看更新的 fiddle :

http://jsfiddle.net/y8F88/1/

关于javascript - 在单击添加功能后添加另一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24216189/

相关文章:

javascript - 无法使用 AJAX 和 codeigniter 从表中获取数据

javascript - Bootstrap 放大模型内容

Php Javascript 将 document.write 的内容写入变量

javascript - 在将函数推送到控制台之前,如何将数组中的两个变量 'zip' 组合在一起,然后冲洗并重复?

javascript - 如何从 Opera 的外部页面向本地服务器发出跨域请求?

javascript - 使用 session 变量和订阅/发布更新模板仅使用先前的查询更新并附加信息

javascript - 访问 QuillJS 中的书面文本

javascript - 谷歌图表和谷歌表格不同时显示

javascript - addEventListener 不适用于 element.submit()

javascript - 在 JavaScript 中从文本创建类