2017-05-09 14 views
0

私はjqueryの初心者です。だから私は自分の問題を解決するのに役立つ誰かを幸せに感じる。 私は単純にすべてのdivブロックに隠されたクラスを追加したいのですが、ボタンidをクリックするだけでフォームを表示する必要があることを示しています。idループjqueryを1つだけ表示する方法は?

私のjqueryのコードは次のとおりです。 - 私は一度にforループの内側ループのそれぞれを隠されたクラスを追加したい

$('.editFunding'+(fundingCounter-1)).click(function() { 
    var editID=$(this).attr('id'); 
    $("#funding"+editID).show(); 
    var i; 
    for(i=0;i<editID && i> editID; i++) 
    { 
     $("#funding"+i). addClass("hidden"); 
     } 
    }); 

。 しかし、このコードは機能しません。 私はこの問題を解決するのに役立つことができる人に感謝しています。

+0

'editFunding'はクラスかIDですか? – brk

+0

あなたはあなたのHTMLを提供できますか?また、私はこの部分を全く理解していません。「divブロックに隠されたクラスを追加したいだけですが、どのボタンをクリックするかを表示するだけです。 – Mokkun

+0

editFundingはクラス –

答えて

2

ループの必要はありません。あなたはidが資金$('[id^="funding"]')で始まると、すべての要素を選択するセレクタを使用し、表示する必要がidを持つ要素。..を表示しますので、この

$('[id^="funding"]').addClass("hidden");  // add class for all 
$("#funding"+editID).removeClass("hidden"); // remove class for wanted id 
のようなあなたのコードを配置する必要があることができながら、

か、だからあなたのタラをお使いのすべてのブロックIDがfundingで始まり、あなたのボタンクラスがeditFundingで始まりますが、あなたはhide()show()

$('[id^="funding"]').hide(); 
$("#funding"+editID).show(); 

を使用することができますeは次のようになります

$('[class^="editFunding"]').click(function() { 
    var editID=$(this).attr('id'); 
    $('[id^="funding"]').addClass("hidden");  // add class for all 
    $("#funding"+editID).removeClass("hidden"); // remove class for wanted id 
}); 
+0

回答ありがとうMr. @ Mohamed-Yousef。しかし、それはすべての資金ブロックを非表示にしています –

+0

@PawanDongol私の答えを更新します。あなたのブロックIDが 'funding'で始まり、ボタンクラスが' editFunding'で始まる間にもう一度それをチェックしてください。 –

+0

ありがとう@ Mohamed-Yousef。それは仕事です。 :D –

関連する問題