【发布时间】:2012-03-18 04:08:47
【问题描述】:
这方面的代码可能很简单,但我对 Jquery 还不是很感兴趣,而且我在网上找不到解决方案。
在我看来,用户需要能够使用 rails check_box_tag 表单提交从各种植物图像中进行选择。当用户单击植物图像时,我希望其随附的复选框被选中。
我的看法:
<%= form_for @project.prelationships.build(:pfollowed_id => @project_id) do |f| %>
<% Plant.all.each do |plant| %>
<h>
<%= image_tag plant.image_path %>
<%= check_box_tag "prelationship[pfollower_id][]", plant.id %>
</h>
<% end %>
<%= hidden_field_tag :project_id, @project.id %>
<%= f.submit "Pfollow" %>
<% end %>
在我的 application.js 中:
$(function () {
$("h").click(function () {
$(this).hide().parent().find(':submit').click();
});
});
该 javascript 代码现在的问题是,当您单击图像时,它会提交表单,而不是简单地选中该图像的复选框。如何修改那一行代码以在 onclick 上返回选中的复选框?我在网上看过很多示例解决方案,但他们从未处理过rails的check_box_tag,这似乎需要一个独特的答案。
【问题讨论】:
-
Rails
check_box_taghelper 生成普通的旧复选框输入,不需要任何特殊处理。虽然,我不太清楚你为什么要通过:submit选择器找到兄弟标签,并在需要通过input[type='checkbox']选择器找到孩子时单击它并使用.prop('checked', true)进行检查。顺便说一句,<h>是什么标签?我错过了什么还是应该是<h1>或其他类型的标题标签?
标签: javascript jquery ruby-on-rails checkbox onclick