tongxin779977 发表于 2022-3-14 12:53

Ajax数据回显问题

购物车界面 用ajax回显 怎么取到值
$.ajax({
    url: '/Tshopping'
    , type: "post"
    , data: {"method": "init"}
    , dataType: "json"
    , success: function (data) {
      var dd = "";
      $.each(data, function (index, k) {

            dd += "<tr>";
            dd += "<td> <input type=\"checkbox\" name='sid'onclick='total()' value=" + k.sid + "></td>";       });
      $("#init").html(dd);
    }
});

林英俊 发表于 2022-3-14 13:27

要看你返回的data是什么数据格式啊 是list就循环取行了

13599383608 发表于 2022-3-14 13:32

自己后端返回什么数据 咋问的都是这种问题呢

tongxin779977 发表于 2022-3-14 13:50

protected void init(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

      try {
            //获取用户
            User user = (User) request.getSession().getAttribute("user");
            //跨域解决问题
            response.setHeader("Access-Control-Allow-Origin", "*");

            List<Map<String, Object>> list = sdao.init(user.getUserId());


            String json = JSON.toJSONString(list);
            PrintWriter out = response.getWriter();
            out.print(json);
            out.flush();
            out.close();

      } catch (IOException e) {
            e.printStackTrace();
      }
    }

后台
$.ajax({
      url: '/Tshopping'
      , type: "post"
      , data: {"method": "init"}
      , dataType: "json"
      , success: function (data) {
            var dd = "";
            $.each(data, function (index, k) {

                dd += "<tr>";
                dd += "<td> <input type=\"checkbox\" name='sid'onclick='total()' value=" + k.sid + "></td>";
                dd += "<input type=\"hidden\"id='gscount' value=" + k.gscount + ">";
                dd += "<td class=\"tb-image\"><a href=\"#\" class=\"item-photo\"><img src=" + k.gphoto + " alt=\"cart\"></a>";
                dd += "<td class=\"tb-product\">";
                dd += "<div class=\"product-name\"><a href=\"#\">" + k.gname + "</a></div>";
                dd += "</td>";
                dd += "<td class=\"tb-price\">";
                dd += "<span class=\"price\">" + k.gprice + "</span>";
                dd += "</td>";
                dd += "<td class=\"tb-qty\">";
                dd += "<div class=\"quantity\">";
                dd += "<div class=\"buttons-added\">";
                dd += "<input type=\"text\"title=\"Qty\" value=" + k.scount + " disabled class=\"input-text qty text\" size=\"1\">";
                dd += "<span onclick='add(" + k.sid + ")' class=\"sign plus\"><i id='add' class=\"fa fa-plus \"></i></span>";
                dd += "<span onclick='loss(" + k.sid + ")' class=\"sign minus\"><i id='loss' class=\"fa fa-minus\" ></i></span>";
                dd += "</div>";
                dd += "</div>";
                dd += "</td>";
                dd += "<td class=\"tb-total\">";
                dd += "<span class=\"price\">" + k.ssubtatol + "</span>";
                dd += "</td>";
                dd += "<td class=\"tb-remove\">";
                dd += "<a href='Tshopping?method=del&sid=" + k.sid + "'class=\"action-remove\"><span><i class=\"flaticon-close\" aria-hidden=\"true\"></i></span></a>";
                dd += "</td>";
                dd += "</tr>";

            });
            $("#init").html(dd);
      }
    });
ajax
我想的需求是复选框选中总金额才显示 但是这里一直出错

tongxin779977 发表于 2022-3-14 13:50

13599383608 发表于 2022-3-14 13:32
自己后端返回什么数据 咋问的都是这种问题呢

回显是正常的但我想点击选中复选框才显示总金额

tongxin779977 发表于 2022-3-14 13:52

林英俊 发表于 2022-3-14 13:27
要看你返回的data是什么数据格式啊 是list就循环取行了

不好意思,我写错了 我的意思是如何选中复选框 使购物金额总量+-

gyhui11 发表于 2022-3-14 14:10

解决思路:
1、先要找出目前哪些复选框是选中的。
2、从选中的那一行找出你要的数据(1、可以根据element找child,也可以根据某个唯一值做该行ID,将该ID+其他字符作为你想要的数据标签的ID即可根据ID直接查到要的数据);
有不明白可以再问

被遗忘的路人 发表于 2022-3-14 14:12

点击事件, 循环所有的标签 check 为 true 的加值

或者 es6 的 find

tongxin779977 发表于 2022-3-14 14:13

被遗忘的路人 发表于 2022-3-14 14:12
点击事件, 循环所有的标签 check 为 true 的加值

或者 es6 的 find

好的谢谢

tongxin779977 发表于 2022-3-14 14:17

gyhui11 发表于 2022-3-14 14:10
解决思路:
1、先要找出目前哪些复选框是选中的。
2、从选中的那一行找出你要的数据(1、可以根据element ...

谢谢,我找到方法了
页: [1] 2
查看完整版本: Ajax数据回显问题