我试图使用AJAX请求一些信息加载到使用JQuery表。 我可以很容易地加载内容,但我有添加事件处理的问题上加载的内容应用样式。
我申请一个条带化部件表。 然而,当我的AJAX请求回来,我的信息被附加到表体它没有应用该样式。
jQuery的教程提到使用load事件来处理这个问题,但我不能得到它的工作。
任何帮助,将不胜感激。
$(document).ready(function(){
$("#cowTable").tablesorter();
addTableStriping();
});
function addTableStriping(){
$("#cowTable").tablesorter({
// striping looking
widgets: ['zebra']
});
};
$(function(){
$("#loadCowsButton").click(function(){
$.post("loadCows.php", "scottm", function(xml) {
$("#cowTable tbody").append(xml);
});
});
});
我发现了一个解决方案。 您需要在更新后触发“applyWidgets”。 感谢大家从所有的帮助,我就不会没有你的帮助发现了这一点。
$(function(){
$("#loadCowsButton").click(function(){
$.post("loadCows.php", "scottm", function(xml) {
$("#cowTable").append(xml);
$("#cowTable").trigger("update");
$("#cowTable").trigger("applyWidgets")
});
});
});
你可能会想尝试的liveQuery插件
实况查询通过结合事件或解雇的回调匹配的元素自动神奇,即使在页面已经被加载和DOM更新利用jQuery选择的权力。
这是你应该做的:
发现它的上的tablesorter网站 。
长期和短期的是,你应该调用$( "#cowTable" ).trigger( "update" );
追加后的数据。
为什么不把它在AJAX回调?
$(function(){
$("#loadCowsButton").click(function(){
$.post("loadCows.php", "scottm", function(xml) {
$("#cowTable tbody").append(xml);
addTableStriping(); // <-- here
});
});
});
这应该做到这一点..
$(function(){
$("#loadCowsButton").click(function(){
$.post("loadCows.php", "scottm", function(xml) {
$("#cowTable tbody").append(xml);
$("#cowTable").trigger( "update" );
});
});
});