2016-04-04 7 views
0

複数のtrおよびtdおよびボタンがある動的表があります。私は、(上)ボタンがクリックされるたびに、tdコンテンツの前にカウント数を挿入したいと思います。このようなもの:[3 x ABC]動的表のセル範囲にOnclickを変更または挿入する

私のデモは動作しませんが、現在のバージョンです。今まで何ボタンをクリックしていたとしても、すべての行が一度に表示され、増加します。私はボタンがrespektiv行で機能するようにしたい。 これをjqueryでどのように管理するのですか?お願いします。

$(function(){ 
    var count=1; 
    $('.up').click(function(){ 
    count++ 
    $('.times').text(count+' x '); 
}) 
}); 

DEMO

+1

さあ、あなたは*必見*ボタンのスタイリングも動作しないことに気づきました。 'class'の代わりに' claas'と打ちます。それは唯一の問題ではありませんが、私はそこから始めたいと思います...もしあなたがあなたのフィドルにjQueryを追加するなら、少なくともあなたは[何かをデバッグする]ことができます(https://jsfiddle.net/j9vnbcf0/3/) ... – GolezTrol

答えて

1

この行が問題である:

$('.times').text(count+' x '); 

それは.timesのすべてのれる発生を選択し、それらのすべてにテキストを設定します。

あなたの場合、同じ行にあるものを使用します。したがって、クリックされた要素(this)から上に移動して、祖先のチェーン内で最も近いtrを見つけます。あなたも、行ごとにカウンタを持ちたい場合は、あなたがのデータ属性にカウンタ情報を格納することができ

$(this).closest('tr').find('.times').text(count+' x '); 

Updated fiddle

:すると、その行の中でテキストを設定するには、再び.timesを見つけます要素。間違いなく良い解決策のもう1つは、変数を保持するクロージャを作成することです。私が実装したこと後者の溶液...

Yet another update of the fiddle

+0

ありがとう、あなたの助けをありがとう、しかし、カウントは、他の行に続けて、それはまさに期待されるものではありません。すべての行は1から始まり、クリックごとに増加する必要があります。助言がありますか? – Khkhy

+0

はい。クロージャを使用した更新を追加しました。 – GolezTrol

+0

素晴らしいです、ありがとうございます。 – Khkhy

関連する問題