$.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 而不是根据行的多少来添加
为什么要做的这么复杂?
单独做一个函数,传入需要更改的对象和值,点一下就不会影响其他的,写个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>