我使用下面的jquery插件https://github.com/DubFriend/jquery.repeater在表单中创建可重复的输入域。我还通过jquery可排序插件添加了对元素重新排序的支持。除了可重复元素的索引混乱之外,一切都很正常。
通过阅读中继器插件的文档,我发现有一种方法可以重置索引https://github.com/DubFriend/jquery.repeater/issues/9,但我无法理解如何在拖放之后触发该功能。有没有人能建议我怎么做?
这是我的可排序代码
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();这是中继器的代码。
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
});有谁知道怎么触发重置吗?
发布于 2018-06-25 19:46:22
虽然这是一个老帖子,但对于任何偶然发现它的人来说,
Ready函数被传递给setIndexes方法作为它的第一个参数,所以你可以在ready方法中做类似这样的事情:
ready: function(setIndexes) {
$('body').on('click', '#delete_page', function(event) {
// your logic
setIndexes(); // this will reindex the list
});
}发布于 2021-06-10 21:15:05
这里有一个变通方法,你可以在中继器的“就绪”功能中使用:
ready: function (setIndexes) {
$(".repeater-table").mouseup(function(){
setIndexes();
});
},https://stackoverflow.com/questions/33394629
复制相似问题