如何使用 select 选项限制分页中的行数

How to limit row number in pagination with select option

我有一个页面已经分页了。但现在我想实现新功能: 当我们 select 框中的行数 select 时。该网页将显示匹配数据。我用 ajax 试过了。已发送限制变量,但控制器无法处理它。谁能帮帮我!

here is sample image

html代码:

<form method="post">
<select name="select_limit" id="select_limit">
     <option value="10">10</option>
     <option value="100">100</option>
</select>
</form>

ajax代码:

$(document).ready(function() {
    $('#select_limit').change(function() {
        var limit = $("#select_limit option:selected").val();
        $.ajax({
            type: "POST",
            cache:false,
            url:"<?php //link to controller ?>",
            //send data
            data:{'limit': limit},
            });
    });
});

在控制器中,我得到了一个与正常代码相同的限制变量:

$limit = $_POST['select_limit'];

您正在发送 data:{'limit': limit}, 并尝试获取 $_POST['select_limit']; 因此您正在尝试获取您未发送的 POST 值。尝试 $_POST['limit'];

也许你不需要使用ajax,你可以试试:

$(document).ready(function() {
    $('#select_limit').change(function() {
        $(this).closest('form').submit();
    });
});

// use get method, and form action should be same url like pagination link 
<form method="get">
  <select name="select_limit" id="select_limit">
     <option value="10" <?php echo $limit == 10 ? 'selected' : ''?>>10</option>
     <option value="100" <?php echo $limit == 100 ? 'selected' : ''?>>100</option>
  </select>
</form>

此 slouttion 将刷新页面。

edit

============================================= =====================

并将 &limit=<?php echo $limit?> 添加到 link,例如:

 <li class="<?php  if($crr_page=$i) echo 'active' ?>">
      <a href="<?php echo $this->url->get('dashboard/list-user') ?>?page=<?php echo $i ; ?>&txt_keyword=<?php echo $keyword; ?>&limit=<?php echo $limit?>"><?php  echo $i  ?></a>
 </li>