关于table条件搜索后,搜索条件保存了上次搜索参数的问题的最好解决方案。

分享 已结
13 1671
wow123
wow123 VIP3 2017-12-20
悬赏:20飞吻
关于table,检索时reload的where参数问题已经解决

在此感谢 @云淡风轻379


修改了table.js,找到t.ajax,在前面增加下面的过滤语句:
n.limit;//注意分号
--增加代码
for(var whereName in n.where){var whereVal =n.where[whereName];if(whereVal===undefined||$.trim(whereVal)===''){delete n.where[whereName]}};//注意分号
--增加代码
t.ajax
回帖
  • 我有一个问题,比如一个页面带有条件查询,输入条件查询出来有多页,分页用的是异步分页,如果按照这个做法,点击下一页查询的时候会不会丢失当前的查询条件,还是说查询分页的时候也要告诉服务端,我要查询的条件是什么,要查询的页码是什么。我是觉得原来的设计没有问题,只不过处理数组会有问题,尽量参数少用数组,这样的设计做到权责分明各管各的。
    0 回复
  • peng_yyn
    2017-12-20
    感谢分享,我现在是reload之后,粗暴地用jq把搜索框的value赋空值[吃惊]
    0 回复
  • peng_yyn
    2017-12-20
    @岁月小偷 把查询参数放入reload的where里面
    0 回复
  • wow123
    2017-12-20
    @岁月小偷

    确实,今天早上我就意识到了这个问题。
    其实应该在点搜索后reload前清除上次的查询参数的。
    0 回复
  • wow123
    2017-12-20
    这个清除发生在done后,会影响查询结果分页的参数。。。。。。

    done Function 数据渲染完的回调。你可以借此做一些其它的操作

    我觉得应该增加一个外置的函数来让用户自己选择是否清空上次的参数,大家集思广益。
    0 回复
  • wow123
    2017-12-20
    感谢 @云淡风轻379

    修改了table.js ,问题已经解决

    增加代码如下:

    n.limit;//注意分号
    --增加代码
    for(var whereName in n.where){var whereVal =n.where[whereName];if(whereVal===undefined||$.trim(whereVal)===''){delete n.where[whereName]}};//注意分号
    --增加代码
    t.ajax
    0 回复
  • wow123
    2017-12-20
    @peng_yyn
    请看最新回复,已经解决这个问题

    修改了table.js,找到t.ajax,在前面增加下面的过滤语句:

    n.limit;//注意分号
    --增加代码
    for(var whereName in n.where){var whereVal =n.where[whereName];if(whereVal===undefined||$.trim(whereVal)===''){delete n.where[whereName]}};//注意分号
    --增加代码
    t.ajax
    0 回复
  • wow123
    2017-12-20
    @岁月小偷

    请看最新回复,已经解决这个问题

    修改了table.js,找到t.ajax,在前面增加下面的过滤语句:
    n.limit;//注意分号
    --增加代码
    for(var whereName in n.where){var whereVal =n.where[whereName];if(whereVal===undefined||$.trim(whereVal)===''){delete n.where[whereName]}};//注意分号
    --增加代码
    t.ajax
    0 回复
  • wow123
    2017-12-20
    @岁月小偷

    如果空值参数传到后台,后台会默认为需要查询这个参数,条件是“”。查询某个字段为" "的需求很少。

    虽然说可以在后台判断,但不利于自动化,不可能我每个查询都去判断

    我是交给后台分页框架自动识别来进行条件查询的。
    0 回复
  • @wow123 恩,反正这个根据每个人每个项目的逻辑不一样处理方式都会有所不同,我这边where就放一些查询条件,后台会对前端传过来的参数过滤,不可能前端传过来什么它都认为是绝对的,后台做了处理逻辑,比如穿一个“”空字符串,那就忽略等等,处理方式不同咯。
    0 回复
  • 且试天下
    2017-12-27
    以一个后端人员的角度 应该保留上次搜索条件[馋嘴]
    0 回复
  • wow123
    2017-12-28
    @且试天下 如果搜索框别人清空了,点击查询,会查询到上次的记录。
    0 回复
  • 关亚宾
    2017-12-29
    @peng_yyn 对的,测试无误
    0 回复
本帖已设置禁止回复