最新消息:文章中包含代码时,请遵守代码高亮规范!

后台列表的简单筛选功能实现【原创】

Symfony2 Ripple 656浏览 0评论

在后台中,对于列表的条件筛选功能是非常常见的。在symfony中实现这个功能也是比较简单的。

第一步:在twig模板中将所需的筛选条件列出。

例如:


<tr class="filter">
<td><input name="number" value="{{ filter.number }}" style="width: 100px" /></td>
<td><input name="name" value="{{ filter.name }}" style="width: 150px" /></td>
<td><button class="btn btn-info" onclick="filter();" >筛选</button></td>
</tr>

第二步:在对应的action中添加条件获取。

例如:


$filter = array();//模板中要显示的数据
$where = 'WHERE 1 ';// 用于执行sql的条件语句

//参数获取
if ($request->query->has('number')) {
$filter['number'] = $request->query->get('number');
$where .= ' AND s.number LIKE "%' . $filter['number'] . '%"';
} else {
$filter['number'] = '';
}

if ($request->query->has('name')) {
$filter['name'] = $request->query->get('name');
$where .= ' AND s.name LIKE "%' . $filter['name'] . '%"';
} else {
$filter['name'] = '';
}

第三步:在twig模板中添加相应的JS。

例如:


<script type="text/javascript">
$('.filter input').keydown(function(e) {
if (e.keyCode == 13) {
filter();
}
});
function filter() {
var url = '{{ path('backend_consumercard_index') }}?filter=1';

var number = $('.filter input[name=\'number\']').val();
if (number) {
url += '&number=' + encodeURIComponent(number);
}

var name = $('.filter input[name=\'name\']').val();
if (name) {
url += '&name=' + encodeURIComponent(name);
}

location.href = url;
}
</script>

这样列表的条件筛选功能便完成了。文章中的代码不全,仅仅是介绍思路。

转载时请注明出处及相应链接,本文永久地址:http://blog.it985.com/19580.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Ripple的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!