2011-06-23 17 views
0

私は変数ver i = 1を持っています。Javascript複数インクリメント可変ソリューション

私は次のような表を持っています。

<table> 
<tr class="testrow"> 
<td class="prev">&nbsp;</td> 
<td class="data">&nbsp;</td> 
<td class="next">&nbsp;</td> 
</tr> 
<tr class="testrow"> 
<td class="prev">&nbsp;</td> 
<td class="data">&nbsp;</td> 
<td class="next">&nbsp;</td> 
</tr> 
<tr class="testrow"> 
<td class="prev">&nbsp;</td> 
<td class="data">&nbsp;</td> 
<td class="next">&nbsp;</td> 
</tr> 
<tr class="testrow"> 
<td class="prev">&nbsp;</td> 
<td class="data">&nbsp;</td> 
<td class="next">&nbsp;</td> 
</tr class="testrow"> 
<tr> 
<td class="prev">&nbsp;</td> 
<td class="data">&nbsp;</td> 
<td class="next">&nbsp;</td> 
</tr> 
</table> 

テーブルは..私は私はprevのために1 nextと減少をクリックすると、変数が1で値を大きくしたいより多くの行を有することができます。これは簡単に行うことができます。しかし、私は行に依存するいくつかの変数が欲しい。最初の行でnextをクリックすると、変数の値は2になるはずですが、他の行でnextまたはprevのいずれかをクリックすると変更しないでください。これは、他のすべての行でも同じです。変数の最小値は1にする必要があります。

誰かが各行の中央のセルに表示される変数を私に教えてくれたら助かります。このデモでは、中央のセルにあるテキストまたはデータのうち、++または--になるべきではないことに注意してください。

Here私のバイオリン..です事前に

おかげ..

答えて

1

私は、ユーザーがクリックしたときに、それを変更して、それぞれの行で変数を格納するjQuery.data()を使用したいが次へ前へ/:

$(function() { 

    $(".testrow").each(function() { 
     var $row = $(this); 
     // set the initial value 
     $row.data("currentIndex", 1); 

     $row.find(".prev").click(function() { 
      $row.data("currentIndex", $row.data("currentIndex") - 1); 
      alert("currentIndex: "+$row.data("currentIndex")); 
     }); 
     $row.find(".next").click(function() { 
      $row.data("currentIndex", $row.data("currentIndex") + 1); 
      alert("currentIndex: "+$row.data("currentIndex")); 
     }); 

    }); 

}); 

jsFiddle:http://jsfiddle.net/5TPCK/12/

1
$('table tr .next').click(function() { 
    alert($(this).closest('tr').index()); 
}); 

http://jsfiddle.net/ThiefMaster/5TPCK/2/

ところで、</tr class="testrow">は恐ろしく間違っている - それは唯一の</tr>でなければなりません。

0

あなたはこれらの配列を維持することができませんでしたカウンタ(行の数が事前にわかっていて、静的である場合にはこれが有効です)?それ以外の場合は、jquery data()関数を使用して、各<tr>要素にカウンタを割り当てることができます。

参照:http://api.jquery.com/jQuery.data/

関連する問題