2011-07-23 3 views
0

何らかの理由で、私がviewAllのクリック機能を持っていると、dataTablesの使用が停止します。構文エラーかどうかわかりません。唯一の問題は、私は構文エラーを取得していないということです。だから私は問題が何であるか分からない。あなたはそれに負の値を渡しているためですfnLengthChange問題

$(document).ready(function() { 

var oTable = $('#contentPagesPageList').dataTable({ 
    "sDom": 'rti<"pagination"p>', 
    "iDisplayLength": 10, 
    "sPaginationType": "full_numbers" 
}); 

$('.viewAll').click(function() { 
    oTable.fnLengthChange(-1); 
)}; 

}); 

答えて

1

私は思う:その関数を使用すると、表示するレコードの数を設定し、私はあなたが負の数を渡すことができる場所であればどこでも見つかっていません。あなたはすべてを表示したい場合に使用できます! - :

oTable.fnLengthChange($('#contentPagesPageList tr').length); 

EDITを問題はfnLengthChangeは、APIの標準機能ではなかったということでしたので、あなたがそれを含める必要がありましたこれは、するためのコードです

$.fn.dataTableExt.oApi.fnLengthChange = function (oSettings, iDisplay) 
{ 
    oSettings._iDisplayLength = iDisplay; 
    oSettings.oApi._fnCalculateEnd(oSettings); 

    /* If we have space to show extra rows (backing up from the end point - then do so */ 
    if (oSettings._iDisplayEnd == oSettings.aiDisplay.length) 
    { 
     oSettings._iDisplayStart = oSettings._iDisplayEnd - oSettings._iDisplayLength; 
     if (oSettings._iDisplayStart < 0) 
     { 
      oSettings._iDisplayStart = 0; 
     } 
    } 

    if (oSettings._iDisplayLength == -1) 
    { 
     oSettings._iDisplayStart = 0; 
    } 

    oSettings.oApi._fnDraw(oSettings); 

    $('select', oSettings.oFeatures.l).val(iDisplay); 
} 

そして、これはあなたのボタンのコードです:動作しません。残念ながら

$('.viewAll').click(function(e) { 
    e.preventDefault(); 
    console.log($('#contentPagesPageList tr').length); 
    oTable.fnLengthChange($('#contentPagesPageList tr').length); 
}); 
+0

。 –

+1

あなたはjsfiddle.netの例を挙げることができますか? –

+0

なんらかの理由で、jfiddleのために改ページさえできません。しかし、lengthChangeがどのように機能しないかを見ることができます。 http://jsfiddle.net/xtremer360/hrfYA/ –