gpt4 book ai didi

javascript - 将 jquery live 更改为分页

转载 作者:太空宇宙 更新时间:2023-11-03 19:00:00 24 4
gpt4 key购买 nike

我有一个基于下拉列表和更改加载的分页页面

$("select#opt-category").change(function () {
$(".showgrid").load('portal.php?category='+category);

});

在 portal.php 中(也作为 ajax 发布到 pagination.php

if(isset($_GET['category'])) $catgory=$_GET['category'];


<script type="text/javascript">

function loading_show(){
$('#loading').html("<img src='assets/img/ajax-loader.gif'/>").fadeIn('slow');
}
function loading_hide(){
$('#loading').fadeOut('slow');
}
function loadData(page,category){
loading_show();

$.ajax
({

type: "POST",

url: "pagination_data.php",
data: {'page':page,'category':category},

success: function(msg)
{
$("#container").ajaxComplete(function(event, request, settings)
{
loading_hide();
$("#container").html(msg);
});
}
});
}


loadData(1,<?php echo $catgory?> )
// For first time page load default results
$('#container .pagination li.active').live('click',function(){
event.stopPropagation();
var page = $(this).attr('p');
var category= $(this).attr('q');

loadData(page,category);

//break;

});

$('#go_btn').live('click',function(){
var page = parseInt($('.goto').val());
var category = parseInt($('.total').attr('b'));


var no_of_pages = parseInt($('.total').attr('a'));
if(page != 0 && page <= no_of_pages){
loadData(page,category);
}else{
alert('Enter a PAGE between 1 and '+no_of_pages);
//$('.goto').val("").focus();
return false;
}

});

</script>

它正确显示了所有分页,但点击页面会触发对 pagination_data.php 的多个 Ajax 调用,我如何更改为 .on()

谢谢

最佳答案

使用最靠近按钮的元素,该元素不是动态加载的(在极端情况下为 document)。然后在其上附加处理程序,并使用按钮的选择器(在您的情况下为 id)作为 delegated event 的选择器。 .

假设您的 #container 是静态元素:

$('#container').on('click', '.pagination li.active', function(){…});

$('#container').on('click', '#go_btn', function(){…});

关于javascript - 将 jquery live 更改为分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12356050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com