javascript - 如何将上一个按钮添加到 jQuery 记录
问题描述
我有下面的代码,可以正常使用next button。现在我想添加上一个按钮以便能够查看以前的记录。这就是我所做的:
if(i > 0) {
$('#prev_btn').html("<a data-role='button' href='#' id='next_btn'>Previous</a>");
}
如何实现上一个按钮?这是我的编码工作
var json = [{
"firstName": "John",
"lastName": "Doe"
}, {
"firstName": "Anna",
"lastName": "Smith"
}, {
"firstName": "Peter",
"lastName": "Jones"
}];
i = 0;
$(document).ready(function() {
$('#next_btn').on('click', function() {
$('#data').empty();
if (i < json.length) {
var firstname = json[i].firstName;
var lastname = json[i].lastName;
$('#data').append('<p>' + i + '- First Name: ' + firstname + ' - Last Name: ' + lastname + '</p>');
i++;
if (i > 0) {
$('#prev_btn').html("<a data-role='button' href='#' id='next_btn'>Previous</a>");
}
} else {
$('#data').append('<p><b>No more record!</b></p>');
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1>My record</h1>
<div id="data"></div>
<a data-role="button" href="#" id="next_btn">Next</a>
<div id="prev_btn"></div>
解决方案
您可以使用,
like将点击事件绑定到多个元素$('#next_btn, #prev_btn')
。
在里面function
你可以id
使用clicked
element
和$(this).attr('id')
基于next
或prev
按钮点击使用i++
或i--
。
根据我的意见,你可以show/hide
previous
,next
按钮。而不是改变html
。
其余代码是不言自明的。如果仍有任何困惑,请留下评论。
在下面试试。
var json = [{
"firstName": "John",
"lastName": "Doe"
}, {
"firstName": "Anna",
"lastName": "Smith"
}, {
"firstName": "Peter",
"lastName": "Jones"
}];
let i = -1;
$(document).ready(function() {
$('#next_btn, #prev_btn').on('click', function() {
$('#data').empty();
$(this).attr('id') == 'next_btn' ? i++ : i--;
if (i >= json.length) {
$('#data').append('<p><b>No more record!</b></p>');
$('#next_btn').hide();
} else if (i < 0) {
$('#data').append('<p><b>First record!</b></p>');
$('#prev_btn').hide();
} else {
var firstname = json[i].firstName;
var lastname = json[i].lastName;
$('#data').append('<p>' + i + '- First Name: ' + firstname + ' - Last Name: ' + lastname + '</p>');
$('#prev_btn, #next_btn').show();
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h1>My record</h1>
<div id="data"></div>
<a data-role="button" href="#" id="next_btn">Next</a>
<div id="prev_btn" style="display:none;"><a data-role='button' href='#'>Previous</a></div>
推荐阅读
- sql-server - SQL Server db_datareader 无法将表编写为脚本,缺少什么权限?
- node.js - mustache 可以多次渲染 html 的图片吗?
- c++ - C++Builder 中的 OnClick 事件签名问题
- java - 相邻元素的最小绝对差并计算总和
- spring-cloud - 如何为在 SAME Eureka 服务下注册的每个实例配置单独的弹性 4j 断路器
- spring - 在 Spring Boot 中捕获 CharConversionException
- c - 在C中打印和排序txt文件
- android - Flutter - 如何解析带有列表的嵌套 JSON 结构?
- git - 将我的 repo 分叉与原始 repo 同步
- sql-server - 在 SQL Server 中删除表的正确方法