ボタンまたはリンクのクリックで項目名の下に項目ごとの詳細な説明を表示したい項目のリストがあります。たとえば、非常に簡単な実装では、.toggle()を使用します。 Railsでは、私は説明のためにこれを持っている:Railsからdivascid/coffeescriptに動的に生成されたdiv idを渡す
<% @products.each do |product| %>
<%= div_for(product, :class => "descriptions") do %>
<%= product.description %>
<% end %>
<input type="button" id="button_<%= product.id %>" value="Show/hide" />
<% end %>
私はCoffeeScriptの/ javascriptの側で動的に生成されたのdiv idをキャッチする必要があります:
jQuery ->
$('#button_?????').click ->
$('#product_ ????').toggle()
しかし、私はこれを取得することができませんよ作業。
一方、私はこのように、「.closets()」のようなものを使用して同じ結果を達成することができるかもしれない:
jQuery ->
$('#button').click ->
$('#button').closest('.descriptions').toggle()
しかし、私は、これはどちらか動作させることはできません。それはかなり簡単な作業であるようですが、私はこれを動作させるにはあまりにも不慣れなjavascriptです。これらの動的に生成されたdivをJavaScript側で捕捉するにはどうすればよいですか?どんな助けも非常に高く評価されるでしょう。
遅れて申し訳ありません。私は本当にこれがうまくいくと思っていましたが、何とかしていません。 htmlは次のようになります。 –
遅れて申し訳ありません。私は本当にこれがうまくいくと思っていましたが、何とかしていません。 htmlは、それぞれが "product-names"クラスのdiv、 "description"クラスのdiv、およびボタンを含むクラス "products"を持つdivのリストです。考えられるのは、各製品の「説明」divを別々に表示または非表示にすることができるということです。これが物事をより明瞭にすることを望みます。 –
Nick、これはインラインにすると完全に動作するので、別のものでなければなりません。ありがとう! –