タイトルで言うように、selection-table
のテーブル行のいずれかをクリックしても何も行われません。最初の警告 - alert("It works on each visit!");
- はすべてのページの読み込み時に実行されます。私は.click
とon('click',function)
を試してみました。私は私が見ることができないテーブル行を横断するには、愚か/単純な間違いをした以外は、これがうまくいかない理由を考えることができません。Railsで生成されたテーブル行をクリックできません
$(document).on('turbolinks:load', function() {
alert("It works on each visit!");
$('#selection-table tbody tr:not(:first-child)').each(function() {
$(this).click(function() {
alert("row clicked");
var ID = $(this).first().html();
$('#tokemon_trainer_id').val(ID);
});
});
});
<table id="selection-table" class="w3-table w3-striped w3-bordered w3-border w3-hoverable" >
<tr>
<th>ID</th>
<th>Name</th>
</tr>
<% @list_of_trainers.each do |trainer| %>
<tr class="selection-row">
<td><%= trainer.id %></td>
<td><%= trainer.name %></td>
</tr>
<% end %>
</table>
おかげで、それはまだ動作しません。私はイベントの委任を見て、あなたのコードは理にかなっています。おそらく、私はレールのアセットパイプラインを間違って使用していますか?私は 'assets/javascripts'フォルダにJSファイルを持っていますが、マニフェストファイルに正しいものが含まれていると思います。私は 'gem jquery-rails'をインストールしました。この行は' application.html.erb'の '<%= javascript_include_tag 'application'、 'data-turbolinks-track': 'reload'%>'です。今何をすべきかわからない。 – Extreme112
決して使用されていないturborails残念ながら、その部分で助けてはいけません。それをjsfiddleに入れるというアイデアかもしれません。上記のコードが正しいことを確認しました(スニペットを参照)。 'id'の問題やテーブル構造の問題かもしれません – Tibrogargan
@ Extreme112レンダリングされたテーブルのソースを見てみるのもいいかもしれません。もっと手がかりを与えるかもしれない。または、クリックセレクタを ''#selection-table tbody tr:not(:first-child)の代わりに '' .selection-row''に変更してください。 '' – Tibrogargan