根据下拉值显示表行

时间:2014-06-09 13:08:29

标签: jquery jquery-ui jquery-plugins jqgrid

我想通过从下拉列表中选择行数来增加或减少表的行数

例如,如果我从下拉列表中选择25,则表格仅显示前25行

我想使用此plugin。但不知道我怎么能用这个

这是我的代码jsfiddle

$('#nrows').change(function(){
    rows = $(this).val();
    alert(rows + ' Number of rows displayed using plugin' );
    $('#table').dataTable();

});

请告诉我如何只显示选定的行数

1 个答案:

答案 0 :(得分:1)

如果您在初始化时执行此操作,则可以使用pageLength property

$('#nrows').change(function () {
    rows = $(this).val();
    $('#table').dataTable({'pageLength':rows});
});

jsFiddle:http://jsfiddle.net/Wmfax/4/

话虽如此,这只会在您第一次初始化dataTable时起作用;之后,您将要update the page length via the API并重绘表格。如果您尝试不止一次使用上述内容,则会收到错误消息,指出"无法重新初始化DataTable"在第二次切换nrows下拉列表后。

这是一个快速的&在更改处理程序外部初始化DataTable,然后仅更改其内部页面长度的脏示例:http://jsfiddle.net/Wmfax/6/

我老实说建议您不要创建自己的nrows选择下拉菜单;在DataTables中,它可以很容易地自定义它们,然后您不必担心两者之间的冲突或覆盖它们的UI。