javascript - 删除项目时自动单击项目
问题描述
我需要在这个 jQuery 函数中添加什么,当我单击一个项目并删除它时,它会自动选择下一个项目并在卡片中显示它的标题和描述。如果我单击最后一项,会自动选择上一项并在卡片中显示它的标题和描述
例如,我有 10 个列表项。如果我单击第一项或第一项和最后一项之间的任何项,则会自动选择已删除项的下一项,如果单击列表项 10,则会自动选择列表项 9。
$("#btndelete").on("click", function() {
if ($(".active").length) {
$(".active").remove();
var len = $("a").length;
if (len == 0) {
disabledButtons(true);
} else {
title.text("List Item none");
description.text("Description none");
}
} else {
alert("Click an item first!");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
<div class="row">
<div class="col-lg-4">
<div class="list-group">
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 1">List Item 1</a>
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 2">List Item 2</a>
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 3">List Item 3</a>
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 4">List Item 4</a>
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 5">List Item 5</a>
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 6">List Item 6</a>
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 7">List Item 7</a>
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 8">List Item 8</a>
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 9">List Item 9</a>
<a href="#" class="list-group-item list-group-item-action list-group-item" data-description="Description 10">List Item 10</a>
</div>
</div>
<div class="col-md-6 col-lg-8">
<div class="card card-primary card-inverse">
<div class="card-block">
<h4 class="card-title"><span class="result"> none</span></h4>
<p class="card-description"><span class="result"> none</span></p>
</div>
</div>
<div class="col-md-9">
<button type="button" class="btn btn-primary" id="btnadd">Add</button>
<button type="button" class="btn btn-primary" id="btnedit">Edit</button>
<button type="button" class="btn btn-danger" id="btndelete">Delete</button>
<button type="button" class="btn btn-danger" id="btndeleteall">DeleteAll</button>
</div>
</div>
</div>
</div>
解决方案
您可以使用 JQuery 的 index() 方法来查找活动链接的索引:
var myIndex = $('.active').index();
这应该在您删除它之前完成。然后您可以使用该索引设置新的活动链接,该索引不会更改(其余的将在您删除一个索引时向上移动一个索引)。
那应该让你开始。
编辑:
设置新的活动:
$('a').get(myIndex).addClass('active');
现在你只需要弄清楚删除最后一项。
推荐阅读
- oracle-apex - 在 Oracle APEX 中插入静态数据以及数据加载向导实用程序
- jquery - jQuery插件无法识别的表达式:[object Object]
- php - AngularJs - PHP POST 问题
- python - 检查是否可以嵌入来自 youtube 的视频
- ruby - Daru::DataFrame 中的水平连接?
- c# - Service Fabric 无状态服务
- javascript - 从 json 对象中提取键值对并将它们分组 - Javascript
- firefox - 我的问题是关于为什么我在 firebug 中看不到 xpath 选项。我使用的是 firefox 56.0.1(64 位)版本和 firebug 2.0.19。版本?
- swift - Swift 只调用递归函数 X 次
- java - 在 String 中的特定位置查找模式并将其替换为 Java 中的其他内容