qq_25858235
大鱼大鱼吃小鱼
2018-03-28 12:00
采纳率: 50%
浏览 2.9k
已采纳

jsp foreach遍历 ,总是只能取到list最后一个对象

图片说明
图片说明
图片说明
会员列表foreach 都能遍历到,但是点开详细出现的用户详情永远是list的最后一个

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • showbo
    已采纳

    详细的js代码呢,肯定是闭包没做好,直接for变量引用到的i是最后的。。或者最后的对象了。。要做好闭包或者使用this对象获得对应的点击对象

    点赞 评论
  • llw_168
    llw_168 2018-03-28 15:19

    应该是把前一次的覆盖了

    点赞 2 评论
  • liu1160848595
    城南一休 2018-03-28 12:27

    因为你的弹框是写在标签里面的,每循环一次,都会对前一次的内容进行覆盖,你点开详情的时候,前面的内容都被覆盖了,只留下了最后一条。
    建议:(1)你如果想要准确获取会员的详细信息,可以在点击详细的时候,将你的会员id传入后台,通过id获取用户的信息后再传给前台,将值放入弹框中对应位置。当然这种方法用异步操作会比较简单,用同步操作会比较麻烦。
    (2)同步操作,我还不知道怎么做,但是初步想想可以用map,具体怎么用我还没什么思路,因为如果不在jsp页面写java代码的话不太好实现。

    点赞 评论
  • qq_25858235
    大鱼大鱼吃小鱼 2018-03-28 14:07

    图片说明
    这就是js代码,其实就是一个显示和隐藏div的功能 这弹出的框总是取得是list最后的一条

    点赞 评论
  • lomis
    lomis 2018-03-28 15:28

    难道不是因为jquery的选择器默认选择了最后一个进行吗? 或者其实弹出了很多个页面 只是最后一个把前面的都遮住了。

    点赞 评论
  • lomis
    lomis 2018-03-28 15:35

    jQuery(document).ready(function($) {
    $('.btn.btn-w-m.btn-danger.userDetail').click(function(){
    $(this).next('.theme-popover-mask').fadeIn(100);
    $(this).next('.theme-popover').slideDown(200);
    })

    点赞 评论

相关推荐