如何在Rails 3中使用jquery突出显示表行?
我已在 Rails 3 测试应用程序中成功安装了 jquery-rails。我已经让它工作了。有人可以向我指出如何使我昨天从 Sreekumar 获得的 jquery 代码在我的 Rails 3 测试应用程序上工作吗?
这是 jquery 代码,我将其放在 application.js
上:
$(document).ready(function() {
$('#table_list').find('tr>td').hover(function() {
//$(this).css("background-color", "green");
$('table_list').addClass('highlight');
}, function() {
//$(this).css("background-color", "inherit");
$('table_list').removeClass('highlight');
});
$('#table_list tr:even').addClass('even');
$('#table_list tr:odd').addClass('odd');
});
此代码的目的是使表格行颜色交替并突出显示所选行。交替行颜色工作得很好,但是,突出显示不起作用。
这是 index.html.erb
中的 Rails 3 代码:
<h1>Listing Ninjas</h1>
<table id="table_list">
<tr>
<th>Name</th>
<th>Rank</th>
<th>Village</th>
<th>Country</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @ninjas.each do |ninja| %>
<tr>
<td><%= ninja.name %></td>
<td><%= ninja.rank %></td>
<td><%= ninja.village %></td>
<td><%= ninja.country %></td>
<td><%= link_to 'Show', ninja %></td>
<td><%= link_to 'Edit', edit_ninja_path(ninja) %></td>
<td><%= link_to 'Destroy', ninja, :confirm => 'Are you sure?', :method => :delete %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New Ninja', new_ninja_path %>
这是我的 css 代码,位于单独的文件 application.css
:
#table_list{
border: solid 1px #666;
border-collapse: collapse;
margin: 10px 0;
}
#table_list th{
font-size: 12px;
color: #FFF;
background-color: #404C99;
padding: 4px 8px;
padding-bottom: 4px;
text-align: left;
}
#table_list .highlight {
background-color: yellow;
}
#table_list td {
font-size: 12px;
padding: 2px 6px;
}
#table_list .even td {
background-color: #E3E6FF;
}
#table_list .odd td {
background-color: #D1D8F6;
}
所有 3 个代码都位于单独的文件中。
我对 Rails 和 jquery 有点陌生。我还是一个初学者。请耐心等待...
I have successfully installed jquery-rails in my rails 3 test app. I already had it working. Can somebody pls point out to me how to make this jquery code I got from Sreekumar yesterday to work on my rails 3 test app.
Here is the jquery code and I placed this on application.js
:
$(document).ready(function() {
$('#table_list').find('tr>td').hover(function() {
//$(this).css("background-color", "green");
$('table_list').addClass('highlight');
}, function() {
//$(this).css("background-color", "inherit");
$('table_list').removeClass('highlight');
});
$('#table_list tr:even').addClass('even');
$('#table_list tr:odd').addClass('odd');
});
The objective of this code is to make the tables row color alternate and highlight the selected row. Alternating the row color works perfectly fine, however, the highlight is not working.
Here is the rails 3 code in index.html.erb
:
<h1>Listing Ninjas</h1>
<table id="table_list">
<tr>
<th>Name</th>
<th>Rank</th>
<th>Village</th>
<th>Country</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @ninjas.each do |ninja| %>
<tr>
<td><%= ninja.name %></td>
<td><%= ninja.rank %></td>
<td><%= ninja.village %></td>
<td><%= ninja.country %></td>
<td><%= link_to 'Show', ninja %></td>
<td><%= link_to 'Edit', edit_ninja_path(ninja) %></td>
<td><%= link_to 'Destroy', ninja, :confirm => 'Are you sure?', :method => :delete %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New Ninja', new_ninja_path %>
And here is my css code which is in a separate file application.css
:
#table_list{
border: solid 1px #666;
border-collapse: collapse;
margin: 10px 0;
}
#table_list th{
font-size: 12px;
color: #FFF;
background-color: #404C99;
padding: 4px 8px;
padding-bottom: 4px;
text-align: left;
}
#table_list .highlight {
background-color: yellow;
}
#table_list td {
font-size: 12px;
padding: 2px 6px;
}
#table_list .even td {
background-color: #E3E6FF;
}
#table_list .odd td {
background-color: #D1D8F6;
}
All of the 3 codes are in separate files.
I'm kinda new to rails and jquery. Im still a beginner. Pls be patient...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这可能无法回答您的问题,但是有一种更简单的方法来实现偶数/奇数颜色表,使用循环命令
希望这向您介绍一个很酷的 Rails 实用程序
链接:将 Rails 3 转换为 Rails 2:带有块的助手
一次你可以向 tr 添加奇数/偶数,你不必使用 jquery 来实现这个目的,简单的 css 就足够了
This might not answer your question, but there is a much simpler way to achieve even/odd color table, using the cycle command
Hope this at introduces you to a cool Rails utility
link : Converting Rails 3 to Rails 2: helpers with blocks
once u are able to add odd/even to tr , you dont have to use jquery for this purpose simple css is enough
对于CSS:
希望这有效^^
For the css:
Hope this works ^^