2016-10-13 5 views
0

私はすべてのものが完全<TR> jQueryでテーブルを除外する方法は?

作品ですが、私は問題を抱えている、私のテーブルは私が

のtbodyテーブルのIDを使用して、彼らに

をcalculsする必要はありませんいくつかのTRが含まれているjQueryを使ってページネーションテーブルを開発

jQueryのコード

$.fn.pageMe = function(opts) { 
 
    var $this = this, 
 
    defaults = { 
 
     perPage: 7, 
 
     showPrevNext: false, 
 
     hidePageNumbers: false 
 
    }, 
 
    settings = $.extend(defaults, opts); 
 

 
    var listElement = $this; 
 
    var perPage = settings.perPage; 
 
    var children = listElement.children(); 
 
    var pager = $('.pager'); 
 

 
    if (typeof settings.childSelector != "undefined") { 
 
    children = listElement.find(settings.childSelector); 
 
    } 
 

 
    if (typeof settings.pagerSelector != "undefined") { 
 
    pager = $(settings.pagerSelector); 
 
    } 
 

 
    var numItems = children.size(); 
 
    var numPages = Math.ceil(numItems/perPage); 
 

 
    pager.data("curr", 0); 
 

 
    if (settings.showPrevNext) { 
 
    $('<li><a href="#" class="prev_link">«</a></li>').appendTo(pager); 
 
    } 
 

 
    var curr = 0; 
 
    // Added class and id in li start 
 
    while (numPages > curr && (settings.hidePageNumbers == false)) { 
 
    $('<li id="pg' + (curr + 1) + '" class="pg"><a href="#" class="page_link">' + (curr + 1) + '</a></li>').appendTo(pager); 
 
    curr++; 
 
    } 
 
    // Added class and id in li end 
 

 
    if (settings.showPrevNext) { 
 
    $('<li><a href="#" class="next_link">»</a></li>').appendTo(pager); 
 
    } 
 

 
    pager.find('.page_link:first').addClass('active'); 
 
    pager.find('.prev_link').hide(); 
 
    if (numPages <= 1) { 
 
    pager.find('.next_link').hide(); 
 
    } 
 
    pager.children().eq(1).addClass("active"); 
 

 
    children.hide(); 
 
    children.slice(0, perPage).show(); 
 
    if (numPages > 3) { 
 
    $('.pg').hide(); 
 
    $('#pg1,#pg2,#pg3').show(); 
 
    $("#pg3").after($("<li class='ell'>").html("<span>...</span>")); 
 
    } 
 

 
    pager.find('li .page_link').click(function() { 
 
    var clickedPage = $(this).html().valueOf() - 1; 
 
    goTo(clickedPage, perPage); 
 
    return false; 
 
    }); 
 
    pager.find('li .prev_link').click(function() { 
 
    previous(); 
 
    return false; 
 
    }); 
 
    pager.find('li .next_link').click(function() { 
 
    next(); 
 
    return false; 
 
    }); 
 

 
    function previous() { 
 
    var goToPage = parseInt(pager.data("curr")) - 1; 
 
    goTo(goToPage); 
 
    } 
 

 
    function next() { 
 
    goToPage = parseInt(pager.data("curr")) + 1; 
 
    goTo(goToPage); 
 
    } 
 

 
    function goTo(page) { 
 
    var startAt = page * perPage, 
 
     endOn = startAt + perPage; 
 

 
    // Added few lines from here start 
 

 
    $('.pg').hide(); 
 
    $(".ell").remove(); 
 
    var prevpg = $("#pg" + page).show(); 
 
    var currpg = $("#pg" + (page + 1)).show(); 
 
    var nextpg = $("#pg" + (page + 2)).show(); 
 
    if (prevpg.length == 0) nextpg = $("#pg" + (page + 3)).show(); 
 
    if (prevpg.length == 1 && nextpg.length == 0) { 
 
     prevpg = $("#pg" + (page - 1)).show(); 
 
    } 
 
    if (curr > 3) { 
 
     if (page > 1) prevpg.before($("<li class='ell'>").html("<span>...</span>")); 
 
     if (page < curr - 2) nextpg.after($("<li class='ell'>").html("<span>...</span>")); 
 
    } 
 
    currpg.addClass("active").siblings().removeClass("active"); 
 

 
    // Added few lines till here end 
 

 

 
    children.css('display', 'none').slice(startAt, endOn).show(); 
 

 
    if (page >= 1) { 
 
     pager.find('.prev_link').show(); 
 
    } else { 
 
     pager.find('.prev_link').hide(); 
 
    } 
 

 
    if (page < (numPages - 1)) { 
 
     pager.find('.next_link').show(); 
 
    } else { 
 
     pager.find('.next_link').hide(); 
 
    } 
 

 
    pager.data("curr", page); 
 

 

 
    } 
 
}; 
 

 

 
$(document).ready(function() { 
 

 
    $('#myTable').pageMe({ 
 
    pagerSelector: '#myPager', 
 
    showPrevNext: true, 
 
    hidePageNumbers: false, 
 
    perPage: 2 
 
    }); 
 

 
});

だから、このコードでは私のテーブル内にすべて<tr>が必要ですが、私はいくつかのtrを除外する必要があります。どうすればいいですか?

私は私がそれを必要とTRにIDを与えることを試みるが、結果なしでこれを仮定し

+0

なぜTRを除外する必要がありますか? tbはtbですか?あなたはそれらを単に取り除くことができますか? – epascarello

+0

@epascarelloはい、それはtbodyです。私は、他の情報を与えるボタンをクリックすると情報を持つテーブルを作成しました(これは私がそれを除外する必要があるTRです) – saadsaad

+0

@ freedomn-m ID '#myPager'はあなたが何かを必要とする場合は、UL(ページネーション)でコード – saadsaad

答えて

0

があなたのテーブルです:、その後、

$(opts.pagerSelector).find("tbody>tr").slice(1, 10).hide(); 

<table id='myPager'> 
    <tbody> 
    <tr><td>row 1</td></td> 
    <tr><td>row 2</td></td> 
    </tbody> 
</table> 

とあなたのコードはありません除外したい行にクラスを追加し、私はここで、「除外」を使用しますが、あなたはオプションとして追加することがあります:

<table id='myPager'> 
    <tbody> 
    <tr><td>row 1</td></td> 
    <tr><td class='excluded'>row 2</td></td> 
    </tbody> 
</table> 

そのクラスをチェック:

$(opts.pagerSelector).find("tbody>tr:not(.excluded)").slice(1, 10).hide(); 

更新:追加の詳細からの質問に:

変更

var children = listElement.children(); 

var children = listElement.children().not(".excluded"); 
+0

jqueryコード(投稿内)にどのように追加できますか? – saadsaad

+0

私は自分のTRにクラスを渡しますが、私は自分のjQueryコードに何を追加する必要があるのか​​分かりません。 – saadsaad

+0

あなたは '.pageMe'のコードを提供していません - それはどこに定義されていますか? –

関連する問題