0

我正在处理以下代码清单。我想在特定的表格单元格中添加更多的文本区域。每个单元格都可以有许多单独的文本区域,我可以使用 jQuery 添加或删除这些文本区域。当我单击添加时,它会添加,但是当我单击删除时,它会删除一个完整的表格行,然后如果我再次单击第二行以在其中添加 textareas,它会将 textareas 添加到第一行。我错过了什么?

<html>
    <head>

        <script type="text/javascript">
            $(function() {
                var addDiv = $('#addinput');
                var i = $('#addinput td').size() + 1;

                $('#addNew').live('click', function() {
                    $('<tr><td><textarea  id="p_new" rows="1" cols="10" name="data[]" value="" placeholder="I am New" ></textarea><a href="#" id="remNew"><img src="<?php echo base_url(); ?>img/remove.png" alt="x" width="15px" height="15px"></a><td> </tr>').appendTo(addDiv);
                    i++;

                    return false;
                });

                $('#remNew').live('click', function() {
                    if( i > 2 ) {
                        $(this).parents('td').remove();
                        i--;
                    }
                    return false;
                });
            });

        </script>

    </head>
    <body>       

        <table border="1">
            <tr>

            <td id="addinput">
                <textarea  id="p_new" rows="1" cols="10" name="data[]" value="" placeholder="Input Value" ></textarea><a href="#" id="addNew"><img src="<?php echo base_url(); ?>img/add.png" alt="+" width="15px" height="15px"></a>
            </td>
            </tr>
               <tr>           
            <td>
                <textarea  id="p_new" rows="1" cols="10" name="data[]" value="" placeholder="Input Value" ></textarea><a href="#" id="addNew"><img src="<?php echo base_url(); ?>img/add.png" alt="+" width="15px" height="15px"></a>
            </td>
            </tr>

        </table>       

    </body>
</html>
4

1 回答 1

1

LivejQuery 1.9.1 不支持

用于on附加委托事件

 $('#remNew').live('click', function() {
 $('#addNew').live('click', function () {

应该

 $('table').live('click', '.remNew', function() {

 $('table').live('click', '.addNew', function() {

ID 在 HTML 页面上应该是唯一的。

所以用一个类代替它..

HTML应该是这样的

<textarea  class="p_new" rows="1" cols="10" name="data[]" value=""
      placeholder="I am New" >
</textarea>

<a href="#" class="remNew">

工作小提琴

于 2013-06-24T17:01:07.550 回答