首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >拖放后的jquery.repeater更新索引

拖放后的jquery.repeater更新索引
EN

Stack Overflow用户
提问于 2015-10-28 23:06:09
回答 2查看 1.8K关注 0票数 1

我使用下面的jquery插件https://github.com/DubFriend/jquery.repeater在表单中创建可重复的输入域。我还通过jquery可排序插件添加了对元素重新排序的支持。除了可重复元素的索引混乱之外,一切都很正常。

通过阅读中继器插件的文档,我发现有一种方法可以重置索引https://github.com/DubFriend/jquery.repeater/issues/9,但我无法理解如何在拖放之后触发该功能。有没有人能建议我怎么做?

这是我的可排序代码

代码语言:javascript
复制
jQuery(".repeater-table").sortable({
    axis: "y",
    cursor: 'pointer',
    opacity: 0.5,
    placeholder: "row-dragging",
    delay: 150,
    handle: ".sort-option",
    update: function(event, ui) {
        // stuff to do on sorting update.
    }

}).disableSelection();

这是中继器的代码。

代码语言:javascript
复制
jQuery('.wpumcf-field-repeater-options').repeater({
    show: function() {
        jQuery(this).slideDown();

        jQuery('.repeater-wrapper').animate({
            scrollTop: jQuery('.repeater-table').height()
        }, 300);
    },
    hide: function(deleteElement) {
        if (confirm(wpum_admin_js.confirm)) {
            jQuery(this).slideUp(deleteElement);
        }
    },
    ready: function(setIndexes) {
        $dragAndDrop.on('drop', setIndexes);
    },
    isFirstItemUndeletable: true
});

有谁知道怎么触发重置吗?

EN

回答 2

Stack Overflow用户

发布于 2018-06-25 19:46:22

虽然这是一个老帖子,但对于任何偶然发现它的人来说,

Ready函数被传递给setIndexes方法作为它的第一个参数,所以你可以在ready方法中做类似这样的事情:

代码语言:javascript
复制
ready: function(setIndexes) {
    $('body').on('click', '#delete_page', function(event) {
        // your logic
        setIndexes(); // this will reindex the list
    });
}
票数 0
EN

Stack Overflow用户

发布于 2021-06-10 21:15:05

这里有一个变通方法,你可以在中继器的“就绪”功能中使用:

代码语言:javascript
复制
ready: function (setIndexes) {
    $(".repeater-table").mouseup(function(){
        setIndexes();
    });
},
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33394629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档