请找到以下代码
<script type="text/javascript">
$(function(){
var c=1;
$("#i1").toggle(function(){
$("#e1").appendTo("#i2");
$('#counter').attr('value',c);
},
function(){
$("#e1").appendTo($(this));
$('#counter').attr('value',c);
});
c++;
});
</script>
<div id=i1><span id="e1">Item 1</span></div>
<div id=i2><span id="e2">Item 2</span></div>
<input type=text value='' id=counter>
当放置计数器时,它会递增和递减,但每次单击add时值会增加+2,并且在删除时会增加-1。
究竟出了什么问题
由于 让
答案 0 :(得分:0)
我真的不了解您的代码。 是否缺少部件?
但我认为这是因为,当document.ready运行时, c ++ 只会被调用一次。 并且 1 + 1 = 2 ,因此 c 将始终 2 。
所以也许这就是为什么它总是以2递增。
但我认为
$('#counter').attr('value',c);
调用,它将始终为2 ...而不是添加2。
如果我使用计数器附加项目,则使用隐藏字段,并执行以下操作:
$("#i1").toggle(function(){
var c= $("#counter").val();
c++;
$("#counter").val(c);
$("#e1").appendTo("#i2");
$('#counter').attr('value',c);
},
function(){
var c= $("#counter").val();
c++;
$("#counter").val(c);
$("#e1").appendTo($(this));
$('#counter').attr('value',c);
});
我希望这很有用。