以下代码在不使用IE(Internet Explorer)时工作正常我用10版进行了测试但是我认为它可能是大部分/全部,在Chrome和Safari中它工作正常,你可以对它进行排序和搜索每个行显示但不在IE中,即使你点击刷新href /链接IE中没有任何反应。
问题1:我想知道如何让它与IE一起使用,就像在其他浏览器中一样。
问题2:缺少Desc / Asc箭头,如何让它们显示。
在此处查看代码/示例:http://jsfiddle.net/5PVqc/2/或查看以下内容。
感谢您阅读我的问题,感谢您提供给我的任何答案。
HTML CODE:
<table id="tablesorter-demo" 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>
<tr>
<td>Bach</td>
<td>Frank</td>
<td>fbach@yahoo.com</td>
<td>$50.00</td>
<td>http://www.frank.com</td>
</tr>
<tr>
<td>Doe</td>
<td>Jason</td>
<td>jdoe@hotmail.com</td>
<td>$100.00</td>
<td>http://www.jdoe.com</td>
</tr>
<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>
<a id="append" href="#">Refresh Page</a>
JAVASCRIPT代码:
$(function() {
var $table = $("#tablesorter-demo");
$("#append").click(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: '/echo/json/',
data: {
json: JSON.stringify({
table: '<tr> <td>Smith</td><td>Frank</td><td>fsmith@yahoo.com</td><td>$50.00</td> <td>http://www.frank.com</td></tr><tr><td>Jones</td><td>Frank</td><td>fjones@yahoo.com</td><td>$50.00</td> <td>http://www.frank.com</td></tr>',
})
},
success: function(response) {
$table
.find('tbody')
.html('')
.append(response.table);
$table.trigger("update", [true]);
}
});
/*$.get('updatetable.php', function(data) {
$table
.find('tbody')
.html('')
.append(data);
$table.trigger("update", [true]);
});*/
});
// call the tablesorter plugin
$table.tablesorter({
theme: 'blue',
// hidden filter input/selects will resize the columns, so try to minimize the change
widthFixed : true,
//sortList: [[2,0],[1,0]],
// initialize zebra striping and filter widgets
widgets: ["zebra", "filter"],
headers: { },
widgetOptions : {
// If there are child rows in the table (rows with class name from "cssChildRow" option)
// and this option is true and a match is found anywhere in the child row, then it will make that row
// visible; default is false
filter_childRows : false,
// if true, a filter will be added to the top of each table column;
// disabled by using -> headers: { 1: { filter: false } } OR add class="filter-false"
// if you set this to false, make sure you perform a search using the second method below
filter_columnFilters : true,
// css class applied to the table row containing the filters & the inputs within that row
filter_cssFilter : 'tablesorter-filter',
// class added to filtered rows (rows that are not showing); needed by pager plugin
filter_filteredRow : 'filtered',
// add custom filter elements to the filter row
// see the filter formatter demos for more specifics
filter_formatter : null,
// add custom filter functions using this option
// see the filter widget custom demo for more specifics on how to use this option
filter_functions : null,
// if true, filters are collapsed initially, but can be revealed by hovering over the grey bar immediately
// below the header row. Additionally, tabbing through the document will open the filter row when an input gets focus
filter_hideFilters : false, // true, (see note in the options section above)
// Set this option to false to make the searches case sensitive
filter_ignoreCase : true,
// if true, search column content while the user types (with a delay)
filter_liveSearch : true,
// jQuery selector string of an element used to reset the filters
filter_reset : 'button.reset',
// Delay in milliseconds before the filter widget starts searching; This option prevents searching for
// every character while typing and should make searching large tables faster.
filter_searchDelay : 300,
// if true, server-side filtering should be performed because client-side filtering will be disabled, but
// the ui and events will still be used.
filter_serversideFiltering: false,
// Set this option to true to use the filter to find text from the start of the column
// So typing in "a" will find "albert" but not "frank", both have a's; default is false
filter_startsWith : false,
// Filter using parsed content for ALL columns
// be careful on using this on date columns as the date is parsed and stored as time in seconds
filter_useParsedData : false
}
});
});
答案 0 :(得分:1)
您的Table Sorter JS分配的类名与您包含的CSS中提到的类名不匹配。
例如,以下内容:
JS中的标头的类名称= tablesorter-header
在CSS = header
中定义样式的类名同样适用于升序和降序排序。我在Fiddle的CSS代码区域添加了以下内容,图像正在出现。
table.tablesorter thead tr .tablesorter-header {
background-image: url(http://tablesorter.com/themes/blue/bg.gif);
background-repeat: no-repeat;
background-position: center right;
cursor: pointer;
}
table.tablesorter thead tr .tablesorter-headerAsc {
background-image: url(http://tablesorter.com/themes/blue/asc.gif);
}
table.tablesorter thead tr .tablesorter-headerDesc {
background-image: url(http://tablesorter.com/themes/blue/desc.gif);
}
table.tablesorter thead tr .tablesorter-headerAsc, table.tablesorter thead tr .tablesorter-headerDesc {
background-color: #8dbdd8;
}
对于问题2 - 似乎可能存在您所包含的Table Sorter JS的一些问题。试试可用的here。