我的页面已经分页了。但现在我想实现新功能: 当我们在选择框中选择行数时。该网页将显示匹配的数据。我用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'];
答案 0 :(得分:1)
您正在发送data:{'limit': limit},
并尝试获取$_POST['select_limit'];
,因此您尝试获取未发送的POST值。试试$_POST['limit'];
答案 1 :(得分:0)
也许您不需要使用ajax,您可以尝试:
<div class="frame">
这个sloution将刷新页面。
修改
=============================================== ===================
并将$(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>
添加到链接中,如:
&limit=<?php echo $limit?>