【问题标题】:jquery Multiple rows change "add new" to "delete" positionjquery 多行将“添加新”更改为“删除”位置
【发布时间】:2014-04-09 05:18:27
【问题描述】:

我使用 jquery 使用了多行。目前,当我单击“添加新”按钮时,在当前行下方添加的行和按钮名称更改为“删除”。但我需要将过程更改如下: 当我单击“添加新”按钮时,在当前行上方添加的行和按钮名称更改为“删除”。 我需要在最后一行显示“添加新”按钮,之前的行必须有“删除”按钮。我无法在上面添加行。如果有人知道,请帮助我。

这是要检查的小提琴 http://jsfiddle.net/tWada/

$("input[type='button'].AddRow").live('click',
function() {
    var index = $(this).closest('tr').index();
    if (index > 0) {
        $(this).closest('tr').remove();

    } else {


        var $tr = $(this).closest('tr').clone(true);
        $tr.find('img').remove();
        var $input = $tr.find('input.startdatum');
        var index = $('input#counter').val();
         $('#acti_btn').val('Delete');
        var id = 'datepicker' + index;
        index++;

        $('input#counter').val(index);
        $input.attr('id', id).data('index', index);
        console.log(index);
        $tr.prependTo($(this).closest('table'));      

    }

【问题讨论】:

    标签: jquery html


    【解决方案1】:

    尝试下面提到的 insertbefore()

    $tr.insertBefore($(this).closest('table'));
    

    您可能还需要更改一些名称。insertBefore() 的文档是 here。希望对您有所帮助。

    【讨论】:

    • 感谢 aameer。我还有一个疑问。如果我将“prependto”更改为“insertbefore”,则新行将添加到当前行上方。但新添加的行显示未对齐,并且当前行按钮将更改为删除。我们该如何纠正?这是更改后的小提琴jsfiddle.net/tWada/1
    • 你自己试试,如果不行我晚上去看看
    • 我试试看。但我无法得到它。我不熟悉jquery。请帮我解决这个问题。
    • 查看这个链接 (jsfiddle.net/tWada/3) 我已经更新了小提琴现在标签很好 两个问题仍然存在 css 并且我注意到点击第一次删除 div 没有被删除。会看如果我有更多时间的话。
    • aameer,我将 css 类直接应用于“tr”。但仍然没有正确对齐?如果你对此有任何想法?
    【解决方案2】:

    我现在得到了解决方案。我使用下面的代码

    $tr.find('.AddRow').val('Delete')// set value to Delet
               .toggleClass('AddRow delete')// toggle classes
               .unbind('click'); // unbind the current events from button
    

    而不是

    $('#acti_btn').val('删除');

    【讨论】:

      猜你喜欢
      • 2011-07-24
      • 1970-01-01
      • 2015-07-29
      • 2019-07-11
      • 1970-01-01
      • 2020-03-20
      • 1970-01-01
      • 1970-01-01
      • 2021-02-10
      相关资源
      最近更新 更多