Javascript 将jquery live更改为分页时
我有一个基于下拉列表的分页页面和加载为Javascript 将jquery live更改为分页时,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个基于下拉列表的分页页面和加载为 $("select#opt-category").change(function () { $(".showgrid").load('portal.php?category='+category); }); 在portal.php中(也作为ajax发布到pagination.php if(isset($_GET['category'])) $catgory=$_GET['c
$("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>
if(isset($\u GET['category'))$catgory=$\u GET['category'];
函数加载_show(){
$('#load').html(“”).fadeIn('slow');
}
函数加载_hide(){
$('加载').fadeOut('缓慢');
}
函数加载数据(页面、类别){
加载_show();
$.ajax
({
类型:“POST”,
url:“pagination_data.php”,
数据:{'page':page,'category':category},
成功:功能(msg)
{
$(“#容器”).ajaxComplete(函数(事件、请求、设置)
{
加载_hide();
$(“#container”).html(msg);
});
}
});
}
加载数据(1,)
//首次页面加载默认结果
$('#container.pagination li.active').live('click',function(){
event.stopPropagation();
var page=$(this.attr('p');
var category=$(this.attr('q');
加载数据(页面、类别);
//中断;
});
$('gobtn').live('click',function(){
var page=parseInt($('.goto').val());
var category=parseInt($('.total').attr('b'));
var no_of_pages=parseInt($('.total').attr('a');
如果(page!=0&&page使用最靠近按钮的元素,该元素在极端情况下不会动态加载(document
),则将处理程序附加到该元素上,并使用按钮的选择器(在您的情况下为id)作为按钮的选择器
假设您的#容器
是静态元素:
$('#container').on('click', '.pagination li.active', function(){…});
$('#container').on('click', '#go_btn', function(){…});
谢谢@Bergi,我改为static元素,将所有的.live()函数改为.on(),效果很好。