2017-01-18 16 views
4

jquery.tablesorter.pager.jsを使用してテーブルコントロールにページネーションを追加しようとしています。jQuery Tablesorterページネーションボタンが発砲しない

のJavascriptファイル

/*global my */ 

my.Views.EndingSoon = (function ($) { 
"use strict"; 

var pagerOptions = { 
    container: $("#pager"), 
    output: '{startRow:input} – {endRow}/{totalRows} rows', 
    updateArrows: true, 
    page: 0, 
    size: 10, 
    savePages: true, 
    storageKey: 'tablesorter-pager', 
    pageReset: 0, 
    fixedHeight: true, 
    removeRows: false, 
    countChildRows: false, 
    cssNext: '.next', // next page arrow 
    cssPrev: '.prev', // previous page arrow 
    cssFirst: '.first', // go to first page arrow 
    cssLast: '.last', // go to last page arrow 
    cssGoto: '.gotoPage', // select dropdown to allow choosing a page 
    cssPageDisplay: '.pagedisplay', // location of where the "output" is displayed 
    cssPageSize: '.pagesize', // page size selector - select dropdown that sets the "size" option 
    cssDisabled: 'disabled', // Note there is no period "." in front of this class name 
    cssErrorRow: 'tablesorter-errorRow' // ajax error information row 

}; 

var init = function init() { 
    $("table") 
     .tablesorter({ 
      theme: 'blue', 
      widthFixed: true, 
      widgets: ['zebra', 'filter'] 
     }) 

     .tablesorterPager(pagerOptions); 
} 

return { 
    init: init 
}; 
})(this.jQuery); 

ビュー(CSHTML)ファイル

<table class="tablesorter"> 
    <thead> 
    <tr> 
     <th>Auction Source</th> 
     <th>Short Description</th> 
     <th style="width: 100px">Current Price</th> 
     <th style="width: 125px">Next Required<br />Bid Amount</th> 
     <th>Number of Bids</th> 
     <th>Auction End</th> 
    </tr> 
    </thead> 
    <tbody> 
    @foreach (AuctionItem item in Model.AuctionItems) 
    { 
     <tr> 
      <td>@item.Auction.AuctionSource</td> 
      <td><a target="_blank" href="@item.AuctionItemURL" title="@item.FullDescription">@Truncate(string.IsNullOrEmpty(item.ShortDescription) ? item.FullDescription : item.ShortDescription, 100)</a></td> 
      <td>@item.CurrentPrice.ToString("C")</td> 
      <td>@item.NextBidRequired.ToString("C")</td> 
      <td>@item.NumberOfBids</td> 
      <td>@(item.EndDateTime != DateTime.MinValue ? item.EndDateTime : item.Auction.AuctionEndDate)</td> 
     </tr> 
    } 
    </tbody> 
</table> 
    <div id="pager" class="pager tablesorter-pager"> 
     <img src="@Url.Content("~/Content/Images/first.png")" class="first" /> 
     <img src="@Url.Content("~/Content/Images/prev.png")" class="prev" /> 
     <!-- the "pagedisplay" can be any element, including an input --> 
     <span class="pagedisplay" data-pager-output-filtered="{startRow:input} &ndash; {endRow}/{filteredRows} of {totalRows} total rows"></span> 
     <img src="@Url.Content("~/Content/Images/next.png")" class="next" /> 
     <img src="@Url.Content("~/Content/Images/last.png")" class="last" /> 
    <select class="pagesize"> 
     <option value="10">10</option> 
     <option value="20">20</option> 
     <option value="30">30</option> 
     <option value="40">40</option> 
     <option value="all">All Rows</option> 
    </select> 
    <select class="gotoPage" title="Select page number"> 
    </select> 
</div> 

バンドルコード

bundles.Add(new ScriptBundle("~/bundles/jquerytablesorter").Include(
        "~/Scripts/jquery.tablesorter.js", 
        "~/Scripts/jquery.tablesorter.combined.js", 
        "~/Scripts/jquery.tablesorter.pager.js")); 

共有_Layout.cshtmlスニペット

@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/jquerytablesorter") 
@Scripts.Render("~/bundles/jqueryval") 
@Scripts.Render("~/bundles/my-js") 
@Scripts.Render("~/bundles/bootstrap") 
</head> 
<body> 

スクリプトが

Scripts Folder

をフォルダ改ページは最初の10行が表示されるように、仕事に「しようと」しているように見えます。ただし、ページネーションコントロールはイベントをトリガしません。

私がサイトのgithubページに持っているものをプッシュすると便利です。

これは私がエミュレートしようとしてるものです:https://mottie.github.io/tablesorter/docs/example-pager.html

+0

私はこの非常に精通していないんだけど、私はあなたが持っているmottieリンクで簡単に「F12 devのツール」を見ていた:私は、変数なしで、1つのオプションに渡していることを今働いています。彼らの例で気付いたように、彼らはあなたのように

要素を持っていません。何か違いがあるかどうか確認するためにそれを削除しようとしましたか?また、コンソールにエラーが表示されていますか? – user961714

+0

jQuery&tablesorterの後に 'jquery.tablesorter.pager.js'ファイルがロードされていますか? – Mottie

+0

フォームタグを削除しようとしましたが、そこには運がありません。私はpager.jsファイルがjQueryとtablesorterの後にリストされていることがわかります。また、私のバンドルロジックをレビューの対象としました。これまでの助けてくれてありがとう。 – NickHeidke

答えて

1

私がまだ犯人だったかわからないんだけど、ページャは私が渡したオプションのいずれかを好きではなかったことが表示されます、しかし。

.tablesorterPager({container: $("#endingSoonPager")}); 
+1

なぜ問題があるのか​​分かりませんが、 '$ .tablesorterPager.defaults'の値を変更してページャを初期化する前に、デフォルトのオプションを変更することができます。 – Mottie

関連する問題