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个回答

为什么要做的这么复杂?
单独做一个函数,传入需要更改的对象和值,点一下就不会影响其他的,写个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>

qq_32409957
可爱的小书包 你加下qq吧,把你问题说一下,1290567551
10 个月之前 回复
shayixiong
shayixiong 我上面的图,就是遍历出来的,每新添加一行,都会出现个 加数字的那个input
10 个月之前 回复
shayixiong
shayixiong 你这个可以试一下异步遍历操作
10 个月之前 回复
shayixiong
shayixiong 你这个可以, 但是用到项目中不行啊
10 个月之前 回复
qq_32409957
可爱的小书包 回复shayixiong: 你试试我的看看
10 个月之前 回复
shayixiong
shayixiong 回复: 我可能没表达清楚, 点击一次都+1,各不影响,因为现在的问题是 点击最上面的,就直接+3了,不是+1
10 个月之前 回复
shayixiong
shayixiong 是异步加载的, 每加载一次就要生成一个 ,所以会影响,应该怎么处理?
10 个月之前 回复

图片说明

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!