我有一个表,当单击一行时,它会将该行的前6个字符(一个ID)发送到PHP页面,并将后续数据加载到页面下方的div中。似乎问题是,一旦我单击一行来加载div,大多数jQuery事件就会停止工作(.hover,.sortElements),这些事件将附加到原始表中。是否有人会知道“修复”或解决此问题,或者是否有一些我不知道的事情。
<SCRIPT type='text/javascript'>
$(document).ready(function(){
$(".panel").hide();
$(".itemjobbutton").click(function(){
$(".panel").slideToggle("200");
return false;
});
var inverse = false;
$("#jobTable th").click(function(){
var header = $(this),
index = header.index();
header
.closest('table')
.find('td')
.filter(function(){
return $(this).index() === index;
})
.sortElements(function(a, b){
a = $(a).text();
b = $(b).text();
return (
isNaN(a) || isNaN(b) ?
a > b : +a > +b
) ?
inverse ? -1 : 1 :
inverse ? 1 : -1;
}, function(){
return this.parentNode;
});
inverse = !inverse;
});
$('#jobTable tr').click(function(){
if($(this).index() != 0) {
var thistext = $(this).text().substring(0,6);
$("#joblistingDetail").load('jobview.php' , {jobID: thistext}).hide().slideDown('100');
$("#jobTable tr").css("background", "#fff");
$(this).closest('tr').css('background-color', '#C3D9FF');
}
});
});
$('#jobTable tr').hover(
function() {
$(this).addClass('hover');
},
function() {
$(this).removeClass('hover')
}
);
答案 0 :(得分:1)
您的jobview.php
很可能包括它自己的jquery.js
版本覆盖父页面上的版本。要么将其从jobview.php
中移除,要么修改您的.load
以仅从给定选择器中拉入html,例如
$("#joblistingDetail").load('jobview.php #target')
其中#target
是选择要拉入的特定容器的选择器。