隐藏第1个外repeater jQuery形式的中继器中继器

发布于 2025-01-22 22:56:25 字数 1213 浏览 2 评论 0原文

$(document).ready(function () {
            $('.outer-repeater').repeater({
                show: function() {
                    $(this).slideDown();
                },
                hide: function (deleteElement) {
                    if(confirm('Outer delete sure?')) {
                        $(this).slideUp(deleteElement);
                    }
                },
               
                repeaters: [{
                    selector: '.inner-repeater',
                    hide: function (deleteElement) {
                        if(confirm('Inner delete sure?')) {
                            $(this).slideUp(deleteElement);
                        }
                    },
                    show: function() {
                        $(this).slideDown();
                    }
                }]
           
            });
        });

我坚持了2天。因此,这是我的问题:

  1. 初始化后如何隐藏第一外围中继器?仅在单击添加按钮后才出现。
  2. 当我尝试删除内部项目时,我会收到2次删除外部删除确认,然后进行内部删除确认。 我读了类似的主题,但我无法在代码中弄清楚。 https://github.com/dubfriend/jquery.repeath.repeath.repeath/42
$(document).ready(function () {
            $('.outer-repeater').repeater({
                show: function() {
                    $(this).slideDown();
                },
                hide: function (deleteElement) {
                    if(confirm('Outer delete sure?')) {
                        $(this).slideUp(deleteElement);
                    }
                },
               
                repeaters: [{
                    selector: '.inner-repeater',
                    hide: function (deleteElement) {
                        if(confirm('Inner delete sure?')) {
                            $(this).slideUp(deleteElement);
                        }
                    },
                    show: function() {
                        $(this).slideDown();
                    }
                }]
           
            });
        });

I've stuck for 2 days. So here is my questions:

  1. How to hide 1st outer repeater after initializing? It will appear only after clicking add button.
  2. I receive 2 delete Outer delete confirmation followed by inner delete confirmation when I try delete inner item.
    I've read similar topics but I couldn't figure out in my code. https://github.com/DubFriend/jquery.repeater/issues/42

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

回梦 2025-01-29 22:56:25

对于您的第一个问题:初始化后如何隐藏第1个外围中继器?它只有在单击添加按钮后才出现。

可以添加样式=“显示:无;”在您的第一个数据重复程序中示例:

<form class="repeater">
    <div data-repeater-list="group-name">
      <div data-repeater-item style="display:none;">
        ...
        <input data-repeater-delete type="button" value="Delete"/>
      </div>
    </div>
    <input data-repeater-create type="button" value="Add"/>
</form>

  • 选择#2

另一个选择是删除元素

$('#filters_repeater').repeater({
    initEmpty: false,

    show: function () {
        $(this).slideDown();
    },

    hide: function (deleteElement) {
        $(this).slideUp(deleteElement);
    }
});

// Delete first element on the repeater as it is only to define the structure to repeat
$('#filters_repeater').find('[data-repeater-delete]').click();

For your first question: "How to hide 1st outer repeater after initializing? It will appear only after clicking add button."

  • Choice #1

You can add style="display:none;" to your first data-repeater-item Example:

<form class="repeater">
    <div data-repeater-list="group-name">
      <div data-repeater-item style="display:none;">
        ...
        <input data-repeater-delete type="button" value="Delete"/>
      </div>
    </div>
    <input data-repeater-create type="button" value="Add"/>
</form>

  • Choice #2

Another choice is to delete the element

$('#filters_repeater').repeater({
    initEmpty: false,

    show: function () {
        $(this).slideDown();
    },

    hide: function (deleteElement) {
        $(this).slideUp(deleteElement);
    }
});

// Delete first element on the repeater as it is only to define the structure to repeat
$('#filters_repeater').find('[data-repeater-delete]').click();

梦醒灬来后我 2025-01-29 22:56:25
        $('.outer-repeater').repeater({
        //--------> just add this here<-------
            initEmpty: true,
        // ------------------------
            show: function() {
                $(this).slideDown();
            },
            hide: function (deleteElement) {
                if(confirm('Outer delete sure?')) {
                    $(this).slideUp(deleteElement);
                }
            },
           
            repeaters: [{
                selector: '.inner-repeater',
                hide: function (deleteElement) {
                    if(confirm('Inner delete sure?')) {
                        $(this).slideUp(deleteElement);
                    }
                },
                show: function() {
                    $(this).slideDown();
                }
            }]
 
        });
        $('.outer-repeater').repeater({
        //--------> just add this here<-------
            initEmpty: true,
        // ------------------------
            show: function() {
                $(this).slideDown();
            },
            hide: function (deleteElement) {
                if(confirm('Outer delete sure?')) {
                    $(this).slideUp(deleteElement);
                }
            },
           
            repeaters: [{
                selector: '.inner-repeater',
                hide: function (deleteElement) {
                    if(confirm('Inner delete sure?')) {
                        $(this).slideUp(deleteElement);
                    }
                },
                show: function() {
                    $(this).slideDown();
                }
            }]
 
        });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文