javascript - 用jquery实现表格行 置顶之后 如何跟后台用ajax交互 在刷新之后仍保持当前位置?
问题描述
如题所示,在每行的后面有一个top按钮,点击置顶,由于有settimeout自刷新,并重新获取数据,所以这个置顶位置并不能保持,每次刷新之后就没有效果了
代码:
$('.top').click(function(){ var $tr = $(this).parents('tr'); $tr.fadeOut().fadeIn();$('tbody').prepend($tr); $(this).css({'color':'red','font-weight':'bold'});});
其实这部分代码对解决问题没什么作用,主要还是想知道如何与后台交互 或者在前台影响全局变量,从而保持当前置顶位置
问题解答
回答1:得看看你这个置顶是永久性的还是一时性的!
如果是永久性的置顶,那你的数据肯定是存储在数据库里的,并且有个字段用来标识该条数据是否为置顶数据,绑定到前端的时候,通过标识来判断这条数据是否置顶,这个就完全不需要前端来考虑这个问题吧?你在前端只不过是把这部分数据展示而已。
如果你的置顶只是一时性的,你可以在每次请求ajax数据之前,获取到置顶数据行的某列数据作为标识(这 个由你自己来定,不过该列的值必须是唯一的),然后再去请求ajax数据,在绑定的时候,用你存储下来的标识跟请求到数据进行判断,相等的话就把改行数据设置为置顶。(感觉写这种置顶没多大意义, 因为这种置顶数据只有你自己能看的到,要是你把页面关闭了一样没用,毕竟不是永久性的)
回答2:直接叫你们后台写个接口,当你点击置顶的时候,把这条数据的id传到后台,再让后台把它排到第一条数据返回给你,这样即使有settimeout你接收到的也是你置顶后的数据啦
相关文章:
1. nignx - docker内nginx 80端口被占用2. 前端 - ng-view不能加载进模板3. docker容器呢SSH为什么连不通呢?4. android clickablespan获取选中内容5. 关docker hub上有些镜像的tag被标记““This image has vulnerabilities””6. docker网络端口映射,没有方便点的操作方法么?7. angular.js - angular内容过长展开收起效果8. debian - docker依赖的aufs-tools源码哪里可以找到啊?9. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?10. docker绑定了nginx端口 外部访问不到
