2010-03-10 75 views
0
去除

請在下面找到放置計數器遞增,當項目添加和使用jquery

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

代碼當計數器處於遞減,它遞增和遞減,但價值各+2上升當我點擊添加,和-1刪除。

到底有什麼不對勁

感謝 讓

回答

0

我並不真的理解你的代碼。 缺少部件嗎?

但我認爲這是因爲,當document.ready運行時,C++將僅被調用一次。 和1 + 1 = 2,所以c將永遠是。

因此,也許這就是爲什麼它總是與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); 
}); 

我希望這很有用。

+0

在第二個函數,它必須遞減 – X10nD 2010-03-10 10:13:45

+0

然後c--而不是C++(在我的代碼片段中......) – bruno 2010-03-10 10:22:27

+0

做到了這一點,結果相同 我只是不知道它爲什麼遞增 – X10nD 2010-03-10 10:30:36