1

下面的代码在不使用 IE (Internet Explorer) 时工作​​正常我用版本 10 对其进行了测试,但我认为它可能是大多数/全部,在 Chrome 和 Safari 中它工作正常,你可以对其进行排序并显示每一行的搜索但即使您单击刷新 href/link 在 IE 中也不会发生任何事情。

问题 1:我想知道如何让它像在其他浏览器中一样与 IE 一起使用。

问题 2: Desc/Asc 箭头丢失,如何让它们显示。

在此处查看代码/示例:http: //jsfiddle.net/5PVqc/2/或查看以下内容。

感谢您阅读我的问题,并感谢您为我提供的任何答案。

HTML 代码:

  <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

    }

  });

});
4

1 回答 1

1

您的 Table Sorter JS 分配的类名与您包含的 CSS 中提到的类名不匹配。

例如,以下内容:

JS 中 Header 的类名 = 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 似乎可能存在一些问题。试试这里可用的。

于 2013-07-23T16:09:10.190 回答