我对Jquery有些新意,但必须有一个简单的解决方案来解决这个问题。我有一个填充了主要内容的iframe。我还在父框架中创建了以此iframe为目标的选项卡式链接。每个选项卡都使用ajax调用,该调用以子框架内的隐藏div为目标,并使用新内容填充它,从而屏蔽原始内容。其中一个选项卡生成的部分内容包括一个表以及其他HTML内容。该表中包含的HTML内容包含“tablesorter”应用程序所需的所有参数。
//below is the dynamic content generated by the ajax call
$paymentHouse ="
<div class=\"hisitoryTable\">
<span class=\"contractNumberHeader\">Contract Number: </span>
<span class=\"contractNumber\">$this->contractKey</span>
<p>
<span class=\"black\">Past Due = </span> <span class=\"payStatus\"> </span>
<span class=\"black\">Rejected = </span> <span class=\"payStatusTwo\"> & nbsp;</span>
</p>
<p>
<table id=\"paymentList\" class=\"tablesorter\" align=\"left\" border=\"1\" rules=\"none\" frame=\"box\" cellspacing=\"0\" cellpadding=\"1\" width=\"100%\">
<thead>
<tr class=\"tabHead\">
<th class=\"oBtext3 tile3\">
Billing Type
</th>
<th class=\"oBtext3\">
Billing Amount
</th>
<th class=\"oBtext3\">
Balance Due
</th>
<th class=\"oBtext3\">
Days Past Due
</th>
<th class=\"oBtext3\">
Payment Date
</th>
<th class=\"oBtext3\">
Date Due
</th>
<th class=\"oBtext3\">
Trans Key
</th>
</tr>
</thead>
<tbody>
$this->historyRows
</tbody>
</table>
</p>
</div>";
一旦加载了页面的所有HTML内容,就会加载“tablesorter”应用程序。我遇到的问题是一旦加载了AJAX生成的内容就会被“tablesorter”识别。我尝试在“load”方法中使用回调函数来实现绑定,但它似乎不起作用。下面是调用“tablesorter”应用程序的switch语句中包含的代码片段。
case 'tabTwo':
$("iframe#content").contents().find("#infoHouse").hide();
$("iframe#content").contents().find("#payCont").show();
$.ajaxSetup ({cache: false});
$("iframe#content").contents().find("#payCont").load("billing/viewPaymentHistory.php",function(){$("#paymentList").tablesorter(););
break;