Javascript 在两个容器之间拖放时如何查找索引?
我想在到容器之间执行Jquery拖放选项。但当它掉下来时,我无法找到精确的索引项。在容器内进行操作时,这很好。对于每个容器,其起始索引从0开始。这就是问题所在 我的代码如下: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_
<% 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之外。