将Rails check_box_tag更改为"已选中"与Jquery

时间:2012-02-28 16:49:03

标签: javascript jquery ruby-on-rails checkbox onclick

这个代码可能很简单,但我对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,这似乎需要一个独特的答案。

1 个答案:

答案 0 :(得分:4)

如果我猜你的意思,这应该解决它:

$(function() {       
    $("h").click(function() {
        $(this).find('input:checkbox').prop("checked", true);
    });
});

看到它的工作地点: http://jsfiddle.net/RZUfs/