我目前有一个表,用于列出RoR应用程序中的一系列作业,如下所示:
<section id="table-wrapper">
<table id="jobs">
<thead>
<tr>
<td>position</td>
<td>company</td>
<td>location</td>
</tr>
</thead>
<tbody>
<% @jobs.each do |job| %>
<%= link_to url_with_protocol(job.job_url), :target => '_blank' do %>
<tr>
<td><strong><%= job.title %></strong></td>
<td><%= job.company %></td>
<td><%= job.city %>, <%= job.country %></td>
</tr>
<% end %>
<% end %>
</tbody>
</table>
</section>
我希望发生的情况是,当用户悬停在表格行上时,字体会改变颜色,当他们单击该行时,它们会被发送到Job.Job_URL方法当前传递的作业URL。
我不能解决的是如何将其与Javascript集成?
如果人们对此有任何建议和帮助,我们将不胜感激:)
更新内容
#JS
$('table tbody tr').click(function(){
<%= link_to job.job_url, :target => '_blank' do %>;
})
#HTML
<section id="table-wrapper">
<table id="jobs">
<thead>
<tr>
<td>position</td>
<td>company</td>
<td>location</td>
</tr>
</thead>
<tbody>
<% @jobs.each do |job| %>
<tr>
<td><%= job.title %></td>
<td><%= job.company %></td>
<td><%= job.city %>, <%= job.country %></td>
</tr>
<% end %>
</tbody>
</table>
</section>
这似乎仍然不起作用——你知道我哪里错了吗?
您可以使用css来使用:hover
选择器更改行的字体大小。至于链接,你可以添加一个data-url
属性,并添加一些观察点击事件的js
# css
table tr:hover { font-size: 100px; }
# js
$('table tr').click(function() { window.location = $(this).data('url') })
# html
<table>
<tr data-url='http://google.com'>
<td>...</td>
</tr>
</table>
更新:html使用job.job_url
假设您有@jobs
上的作业列表
<table>
<% @jobs.each do |job| %>
<tr data-url='<%= job.job_url %>'>
<td>...</td>
</tr>
<% end %>
</table>
更新:使用href
而不是data-url
(尝试使用数据url时可能会出现一些遗留问题)
对此的最终可行答案是:
$ ->
$('tr[href]').click -> window.open 'http://' + $(this).attr('href');