jQuery.repeater不';不能使用jQueryUI排序表
我正在使用库创建repeateble表单。我想用库对所有可重复的字段进行排序 一切正常,但当我对可重复字段排序时,输入的名称顺序不会重新建立索引。如上所述,可以使用jQuery.repeater不';不能使用jQueryUI排序表,jquery,jquery-ui,jquery-ui-sortable,repeater,jquery.repeater,Jquery,Jquery Ui,Jquery Ui Sortable,Repeater,Jquery.repeater,我正在使用库创建repeateble表单。我想用库对所有可重复的字段进行排序 一切正常,但当我对可重复字段排序时,输入的名称顺序不会重新建立索引。如上所述,可以使用ready事件 这是我的密码: <form class="repeater"> <div class="sortable" data-repeater-list="group-a"> <div class="item
ready
事件
这是我的密码:
<form class="repeater">
<div class="sortable" data-repeater-list="group-a">
<div class="item" data-repeater-item>
<input type="text" name="text-input" value="A"/>
<input data-repeater-delete type="button" value="Delete"/>
</div>
<div class="item" data-repeater-item>
<input type="text" name="text-input" value="B"/>
<input data-repeater-delete type="button" value="Delete"/>
</div>
</div>
<input data-repeater-create type="button" value="Add"/>
</form>
现场直播:
我已经解决了这个问题,我一直在等待答案,如下所示: 我调用了
repeater.repeater(“setIndexes”)
中继器在每个可排序的操作。
update:function(){
myRepeater.repeater(“设置索引”);
}
这使它工作正常,但单击Add按钮
会导致添加多个元素的问题,因此需要对jquery.repeater.js
的源代码进行更改
在jquery.repeater.js
中,我们必须进行以下更改:
之前:
$filterNested($self.find('[data repeater create]')、fig.repeater)。单击(函数(){
addItem();
});
之后:
$filterNested($self.find('[data repeater create]')、图repeater)。单击(函数(事件){
addItem();
事件。stopImmediatePropagation();
});
您可以在找到工作样本
它应该不会损坏任何东西,但我还没有做任何详尽的测试。谢谢。这是一个很好的解决方案。
$(document).ready(function() {
const form = $(".repeater");
const sortable = $(".sortable").sortable({
update: function() {
console.log(form.serializeArray());
}
});
$(".repeater").repeater({
show: function() {
$(this).slideDown();
},
hide: function(deleteElement) {
if (confirm("Are you sure you want to delete this element?")) {
$(this).slideUp(deleteElement);
}
},
ready: function(setIndexes) {
sortable.on("sortchange", setIndexes);
}
});
});