我在我的桌子上使用来自http://mottie.github.com的 jquery 插件 tablesort。发生的事情是
- 您单击标题单元格
- 一个 jquery ui 对话框显示正在加载
- 当数据通过用户输入更改时,表缓存使用更新事件进行更新
- 排序发生
- 然后对话框被删除
问题是对话框并非总是打开或不会关闭,如果我在事件 sortStart 和 sortEnd 中打开对话框,则它会打开和关闭两次,但它会等待打开,直到更新事件完成。
如果我使用警报效果会更好,但这不是我想要的,我需要一个对话框。
底线是我需要使用更新事件和对话框.....你能帮忙..我的概念代码在下面..谢谢
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="js/jquery-1.8.2.min.js"></script>
<script src="js/jquery.tablesorter.min.js"></script>
<link href="css/smoothness/jquery-ui-1.9.1.custom.min.css" rel="stylesheet" />
<script src="js/jquery-ui-1.9.1.custom.min.js"></script>
<script type="text/javascript">
$(function () {
//add table sort
$("#myTable").tablesorter();
// bind to sort events begin
$("#myTable").bind("sortBegin", function (e, table) {
$('<div id="myDialog">loading</div>').dialog();
$("#myTable").trigger("update"); // update table cache
//alert('open');
})
$("#myTable").bind("updateComplete", function (e, table) {
//alert("updateComplete")
});
$("#myTable").bind("sortStart", function (e, table) {
//alert("sortStart")
});
$("#myTable").bind("sortEnd", function (e, table) {
//alert("sortEnd")
$('#myDialog').dialog("close");
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table id="myTable" class="tablesorter">
<thead>
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Email</th>
<th>Due</th>
<th>Web Site</th>
</tr>
</thead>
<tbody>
<tr>
<td>Smith</td>
<td>John</td>
<td>jsmith@gmail.com</td>
<td>$50.00</td>
<td>http://www.jsmith.com</td>
</tr>
<!-- this is here to simulate loads of extra rows -->
<% For index = 1 To 100
Response.Write("<tr><td>Doe</td><td>Jason</td><td>jdoe@hotmail.com</td><td>$100.00</td><td>http://www.jdoe.com</td></tr> ")
Next
%>
<tr>
<td>Conway</td>
<td>Tim</td>
<td>tconway@earthlink.net</td>
<td>$50.00</td>
<td>http://www.timconway.com</td>
</tr>
</tbody>
</table>
</div>
</form>
</body>
</html>