Javascript jQuery UI Sortable connectWith multiple list:如何使用list的数量更新表单字段?

Javascript jQuery UI Sortable connectWith multiple list:如何使用list的数量更新表单字段?,javascript,jquery,html,forms,jquery-ui,Javascript,Jquery,Html,Forms,Jquery Ui,我有多个使用sortable和connectWith的列表,但在移动项目后,我很难用新的列表/列号更新隐藏的表单字段 代码可以很好地用于更新当前位置,但我无法让Javascript用于列号 以下是我目前掌握的代码: 项目1 项目2 项目3 项目4 项目5 项目6 $(文档).ready(函数(){ $('#column1,#column2,#column3')。可排序({ 连接到:'.col', 停止:函数(){ var inputs2=$('input.itemcurrposition')

我有多个使用sortable和connectWith的列表,但在移动项目后,我很难用新的列表/列号更新隐藏的表单字段

代码可以很好地用于更新当前位置,但我无法让Javascript用于列号

以下是我目前掌握的代码:


项目1
项目2
项目3
项目4
项目5
项目6
$(文档).ready(函数(){
$('#column1,#column2,#column3')。可排序({
连接到:'.col',
停止:函数(){
var inputs2=$('input.itemcurrposition');
var nbElems2=输入2.length;
$('input.itemcurrposition')。每个(函数(idx){
$(this.val)(nbElems2-idx);
});
}
})
});

感谢您的帮助。

您可以在“停止”事件处理程序中添加事件和ui参数,使用ui.item检索拖动的项目,然后将其输入值设置为父列的索引

stop: function (event, ui) {

  var inputs2 = $('input.itemcurrposition');
  var nbElems2 = inputs2.length;
  $('input.itemcurrposition').each(function(idx) {
    $(this).val(nbElems2 - idx);          
  });

  var newval = ui.item.closest('.col').index()+1;
  ui.item.find("input.itemcolumnnum").val(newval);              
}
如果列编号取决于列id而不是其索引,则可以按如下方式获取:

var newval = ui.item.closest('.col').attr('id').replace("column", "");

这里有更新的代码

太棒了!非常感谢你在这方面的帮助。非常感谢。