如何使用 select 选项限制分页中的行数
How to limit row number in pagination with select option
我有一个页面已经分页了。但现在我想实现新功能:
当我们 select 框中的行数 select 时。该网页将显示匹配数据。我用 ajax 试过了。已发送限制变量,但控制器无法处理它。谁能帮帮我!
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>
我有一个页面已经分页了。但现在我想实现新功能: 当我们 select 框中的行数 select 时。该网页将显示匹配数据。我用 ajax 试过了。已发送限制变量,但控制器无法处理它。谁能帮帮我!
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>