Javascript 在两个容器之间拖放时如何查找索引?

Javascript 在两个容器之间拖放时如何查找索引?,javascript,jquery,ruby-on-rails-3,jquery-ui-sortable,Javascript,Jquery,Ruby On Rails 3,Jquery Ui Sortable,我想在到容器之间执行Jquery拖放选项。但当它掉下来时,我无法找到精确的索引项。在容器内进行操作时,这很好。对于每个容器,其起始索引从0开始。这就是问题所在 我的代码如下: <% all_tasks.each do |due_date, tasks| %> <h3 class="task_active task_plus_ico"> <%=Date.today.to_s == due_date.to_s ? t("Due Today") : t(due_

我想在到容器之间执行Jquery拖放选项。但当它掉下来时,我无法找到精确的索引项。在容器内进行操作时,这很好。对于每个容器,其起始索引从0开始。这就是问题所在

我的代码如下:

 <% all_tasks.each do |due_date, tasks| %>

 <h3 class="task_active task_plus_ico">
  <%=Date.today.to_s == due_date.to_s ? t("Due Today") : t(due_date_format[0]).concat("," + due_date_format[1])%>
 </h3>
 <div class="task_column_details sortable" style="display:none;">
 <% tasks.each do |t| %>
 <p><%= t.name %></p>
 <%end%>
</div>
 <%end%>
  $( ".sortable" ).sortable({
  revert: true,
  connectWith  : ".sortable",
  update: function(event, ui) { 
  alert(ui.item.index()) // its giving index starting from 0 for each container. but i want continuous index
  },
用户界面如下所示:

 <% all_tasks.each do |due_date, tasks| %>

 <h3 class="task_active task_plus_ico">
  <%=Date.today.to_s == due_date.to_s ? t("Due Today") : t(due_date_format[0]).concat("," + due_date_format[1])%>
 </h3>
 <div class="task_column_details sortable" style="display:none;">
 <% tasks.each do |t| %>
 <p><%= t.name %></p>
 <%end%>
</div>
 <%end%>
  $( ".sortable" ).sortable({
  revert: true,
  connectWith  : ".sortable",
  update: function(event, ui) { 
  alert(ui.item.index()) // its giving index starting from 0 for each container. but i want continuous index
  },


请帮助我找到索引或容器名称。

如果我理解正确,当您从第一个容器放置到第二个容器时,您希望获得放置物品的索引,即第一个容器中的物品数量+第二个容器中的物品索引

你可以用这样的东西
.sortable('toArray')
将以数组形式返回容器中的项目<代码>用户界面。发件人指从中拖动项目的第一个容器

$('.sortable').sortable({
    connectWith: '.sortable',
    update: function(event, ui) {
      var draggedto = this.id;
      var draggedFrom = $(ui.sender).attr("id");
      var totalIndex = $(ui.sender).sortable('toArray').length + ui.item.index();

    console.log({
      from: draggedFrom,
      to: draggedto,
      index: ui.item.index(),
      totalIndex: totalIndex
    });
  }
});

我想您需要检查ui.sender是否为null。

有没有办法找到移动的容器名称?
这是您放置到的容器,因此您可以获取任何想要的属性,例如$(this).attr(“name”)等。我没有获取容器名称。请帮助我在你的问题中发布你的html。我不知道你是怎么储存这个名字的。不过,我发布的内容应该足够了。实际上,容器代码位于可排序div之外。