shayixiong 2018-11-30 01:31 采纳率: 0%
浏览 306
已采纳

jquery table 数字问题

  $.each(typeData, function (i, n) {
                                            //这里是增加1 和减1 HTML
                                            var jisuan = "<div class=\"amount_box\"><a href=\"javascript:;\"   class=\"reduce reSty\">-</a><input type=\"text\" value=\"1\" class=\"sum\"><a href=\"javascript:;\"   class=\"plus\">+</a></div>";
                                            //tr表格
                                            tbBody += "<tr><td id=" + n.ID + ">" + n.ID + "</td>" + "<td>" + n.mingcheng + "</td> " + "<td>" + jisuan + "</td>" + "<td class='sum_price'>" + n.jiage + "</td>" + "<td class='price'>ss</td><td onClick='d(this)'><i class='fa fa-trash-o'></i></td></tr>"

                                            //遍历#myTb下所有的进行比对重复则为追加
                                            if (!$("#myTb tr").children('td[id=' + n.ID + ']').length) {                                              

                                                $("#myTb").append(tbBody);                                                



                                            }
                                            else {
                                                layer.msg('已存在-' + n.mingcheng + '!', { icon: 5, time: 3000 });
                                                return;
                                            }
                                            //操作Plus类 input 进行加1运算,问题出在这里, 如果追加3行tr 点一下.plus类则会出现+3次的现象,不知道问题出在哪里
                                            //放在这里点一次加+2,放到if里可以执行,如果表有3行,执行后第一行点.plus会出现加3次input显示3,第二行加2次,第3行加一次
                                            //怎么操作让他们3行数据互不影响?点击plus  input里的数加1 而不是根据行的多少来添加

                                            $('.plus').click(function () {

                                                var $inputVal = $(this).prev('input'),
                                                   $count = parseInt($inputVal.val()) + 1;
                                                $inputVal.val($count);

                                            });
                                        })

//操作Plus类 input 进行加1运算,问题出在这里, 如果追加3行tr 点一下.plus类则会出现+3次的现象,不知道问题出在哪里
//放在这里点一次加+2,放到if里可以执行,如果表有3行,执行后第一行点.plus会出现加3次input显示3,第二行加2次,第3行加一次
//怎么操作让他们3行数据互不影响?点击plus input里的数+1 而不是根据行的多少来添加

  • 写回答

2条回答

  • 可爱的小书包 2018-11-30 02:08
    关注

    为什么要做的这么复杂?
    单独做一个函数,传入需要更改的对象和值,点一下就不会影响其他的,写个demo,给你看看

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <table>
            <tr>
                <td><input type="text" value="0"><input type="button" onclick="addNum(this,1)" value="点我加1"></td>
            </tr>
            <tr>
                <td><input type="text" value="0"><input type="button" onclick="addNum(this,2)" value="点我加2"></td>
            </tr>
            <tr>
                <td><input type="text" value="0"><input type="button" onclick="addNum(this,3)" value="点我加3"></td>
            </tr>
        </table>
    </body>
    <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
    <script>
        function addNum(obj,num){
            var obj = $(obj).siblings("input[type='text']");
            var old = parseInt(obj.val());
            obj.val("").val(old+num)
        }
    </script>
    </html>
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料