Jquery在选定的表行之后插入表行

时间:2014-08-15 14:02:33

标签: jquery

我试图在用户选择的行之后插入一个表格行:

这是小提琴:

http://jsfiddle.net/tonymaloney1971/ykxgy6dj/2/

因此,如果用户选择产品0,我们会在产品0之后插入新的。

目前我正在尝试insertAfter,但它正在删除下一个表格行?

$(' #tableBody tr')。on('点击','按钮',function(){             var insertData ="

  • Q
  • W
  • E
  • R
  • Y
&#34 ;;             var insertAfter = $(this).closest(' tr');

        if($(this).text()  =='+')
        {
            $(this).text('-');
            //I would like to insert a new table row underneath the current selected table row?
            insertAfter.insertAfer(insertData);
        }
        else
        {
            $(this).text('+');
        }
    });      

由于

2 个答案:

答案 0 :(得分:0)

您需要在dom traversing

上练习
$(document).ready( function () {            
    $('#List li').hide();

    $('#tableBody tr').on('click','button', function() {
        var insertData = "<tr><td><ul><li>Q</li><li>W</li><li>E</li><li>R</li><li>Y</li></ul></td></tr>";
        var insertAfter = $(this).parent();

        if($(this).text()  =='+')
        {
            $(this).text('-');
            //I would like to insert a new table row underneath the current selected table row?
            insertAfter.append(insertData);
        }
        else
        {
            $(this).text('+');
        }
    });                              
});

答案 1 :(得分:0)

Ahmet CanGüven的答案非常接近。我必须进行一些小的更改才能使其正常运行。 documentation for insertAfter帮助我们理解原因。

$(document).ready( function () {            
$('#List li').hide();

$('#tableBody tr').on('click','button', function() {
    var $insertData = $("<tr><td><ul><li>Q</li><li>W</li><li>E</li><li>R</li><li>Y</li></ul></td></tr>");
    var $insertAfter = $(this).parent();

    if($(this).text()  =='+')
    {
        $(this).text('-');
        //I would like to insert a new table row underneath the current selected table row?
        $insertData.insertAfter($insertAfter);
    }
    else
    {
        $(this).text('+');
    }
});                              

});