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条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题