jquery - 是否可以在分页点击时启动引导模式
问题描述
我想实现一个目标,但我不知道这是否可能。我有一个分页,而不是单击后导航到新页面,我希望它打开一个用引导程序制作的模式。当我删除分页时,模式会正确打开,但它不能与分页一起使用。如何更改分页 jquery 函数以使分页和模态一起工作?
或者是否有其他方法可以做到这一点,任何建议将不胜感激。
谢谢
1- 分页
<a id="pagination-obstetrico" data-toggle="modal" data-target="#view" href="<?php echo base_url("admin/data_ssr_by_id/$row->idssr")?>"></a>
2-模态调用
<div class="modal fade" id="ver_ssr" role="dialog" >
<div class="modal-dialog modal-lg" >
<div class="modal-content" >
</div>
</div>
</div>
3-分页功能
$('#pagination-obstetrico').twbsPagination({
totalPages: 5,
// the current page that show on start
startPage: 1,
// maximum visible pages
visiblePages: 5,
initiateStartPageClick: true,
// template for pagination links
href: false,
// variable name in href template for page number
hrefVariable: '{{number}}',
// Text labels
first: 'First',
prev: 'Previous',
next: 'Next',
last: 'Last',
// carousel-style pagination
loop: false,
// callback function
onPageClick: function (event, page) {
$('.page-active').removeClass('page-active');
$('#page'+page).addClass('page-active');
},
// pagination Classes
paginationClass: 'pagination',
nextClass: 'next',
prevClass: 'prev',
lastClass: 'last',
firstClass: 'first',
pageClass: 'page',
activeClass: 'active',
disabledClass: 'disabled'
});
5-分页的外部资源
6-我的父页面
7-我不使用分页时的模态截图,请注意,当我使用分页时,模态无法启动。
谢谢
解决方案
这是一个开始
$('#page-selection').bootpag({
total: 10,
href: "#pro-page-{{number}}"
}).on("page", function(event, /* page number here */ num) {
$("#content").html("Page " + num); // some ajax content loading...
});
$(function() {
$("#page-selection .pagination.bootpag li a")
.attr('data-toggle', 'modal')
.attr('data-target', '#myModal');
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/bootpag/1.0.7/jquery.bootpag.js"></script>
<div id="content"></div>
<div id="page-selection"></div>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title" id="myModalLabel">Modal title</h4>
</div>
<div class="modal-body">
<div id="phpContent"></div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
每个 OP 的附录评论:
我必须使用链接打开模态,每个模态页面都是根据 href 中的 id 查询的结果,例如:idssr")?>">。我该怎么做?
第一个 php 脚本是服务器端。因此,在呈现页面时,您的所有链接都是已知的。Bootpag 动态呈现客户端,因此理想情况下,如果在初始化时您可以映射一个 php 定义的 javascript 结构,bootpag init 可以访问该结构以将 url 映射到寻呼机按钮,那就太好了
一种方法是编写一些创建 javascript 简单对象的 php 脚本,最终结果如下所示:
var pagerUrls = {
"1": "url1",
"2": "url2",
"3": "url3",
...
"n": "urln"
};
然后在初始化期间你可以这样做:
$(function() {
$("#page-selection .pagination.bootpag li a")
.attr('data-toggle', 'modal')
.attr('data-target', '#myModal');
$("#page-selection .pagination.bootpag li a")
.each( function(){
$(this).data('url', pagerUrls[ $(this).data("lp") ] );
});
});
现在设置按钮后,您可以使用“触发模式”,请参阅基于触发按钮的不同模式内容以获取更多信息。
这将允许一个模态显示基于触发按钮的动态内容。它利用了show.bs.modal
我在这里使用的 Bootstrap Modal 事件来根据给定的 url 进行 ajax 调用。
注意:这个 ajax 调用很简单,因为我不知道你的 url 返回什么,我假设是 html,但你需要根据你的需要设置适当的 ajax 设置。
$('#myModal').on('show.bs.modal', function (event) {
// Button that triggered the modal
var button = $(event.relatedTarget);
var ajaxOptions = {
url: button.data('url'),
method: "POST",
dataType: "html"
};
var request = $.ajax(ajaxOptions);
var modal = $(this);
modal.find('.modal-title').text('Results from ' + ajaxOptions.url );
modal.find('.modal-body #phpContent').val(request);
});
注意:这些代码都没有经过测试,只是为了展示一个概念。您将不得不努力调试它。
但现在我有一个问题要问你。
当您认为 bootpag 旨在div
完全填充 a 时,这是使用模态显示动态内容的大量努力。
您使用模态是否有原因?
快乐编程!
推荐阅读
- ansible - 我需要为 Ubuntu 服务器编写 Ansible Playbook
- ios - 作为 UI 的操纵杆 Sprite 套件
- c++ - VC++ Redistributable ClickOnce Bootstrapper 无法正常运行
- conditional-formatting - Excel 2016:条件格式:如果单元格值在列表中,则突出显示行
- javascript - 使用纯 JavaScript 完成 CSS 转换后运行代码
- html - 如何在抬起手指之前显示按下(:活动)效果?
- windows - 在任务管理器的父进程下分组 PowerShell 作业
- makefile - 在 makefile 中将“/dev/ttyPS1”替换为 \""/dev/ttyPS1\""
- python - elasticsearch“query_string”对具有相同映射的不同字段的意外行为
- python - 为什么我会收到这么糟糕的输入?