shayixiong
shayixiong
采纳率66.7%
2018-11-30 01:31 阅读 304

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条回答 默认 最新

  • 已采纳
    qq_32409957 可爱的小书包 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>
    
    
    点赞 评论 复制链接分享
  • shayixiong shayixiong 2018-11-30 01:37

    图片说明

    点赞 评论 复制链接分享

相关推荐