【问题标题】:Select/Deselect multiple check boxes using Jquery in loop(Rails)在循环中使用 Jquery 选择/取消选择多个复选框(Rails)
【发布时间】:2014-10-17 11:46:45
【问题描述】:

我在做 RoR,里面有两个循环,我用复选框显示记录。

<%= form_tag some_path, :method => 'post' do %>
  For loop
    <%= check_box_tag 'ids[]', value %> Name
    For loop
      <%= check_box_tag 'ids_of_second_loop[]', value %> Name
    end
  end
<%= submit_tag "Next" %>
<% end %>

现在我想应用一个 jquery,我可以在其中选择/取消选择复选框。

如果它不在循环中,我可以做到,

我指的是下面的链接进行实施, link

循环输出...

如何实现...

【问题讨论】:

  • 我不确定我是否理解清楚。当您从第一个循环中选中/取消选中复选框时,是否需要选中/取消选中所有子复选框?你能发布一个真实的代码示例吗?
  • 是的,完全正确,在上面编辑了我的问题......
  • 如果您在代码中提供第一部分 html,这很容易。

标签: javascript jquery ruby-on-rails ruby-on-rails-3


【解决方案1】:

我会做类似的事情

<%= form_tag some_path, :method => 'post' do %>
  For loop
    <%= check_box_tag 'ids[]', value, class: 'parent' %> Name
    <div class='children'>
      For loop
        <%= check_box_tag 'ids_of_second_loop[]', value %> Name
      end
    </div>
  end
<%= submit_tag "Next" %>
<% end %>

注意复选框后面的“div class='children'”和所有父复选框上的类“parent”

那么,javascript

$('input.parent').on('change',function(){
  $(this).next('.children').find('input[type=checkbox]').prop('checked',$(this).prop('checked'));
})

它在单击的复选框之后搜索具有“children”类的下一个 div,然后在该 div 内搜索 type=checkbox 的所有输入,并将 prop“checked”设置为单击的当前输入返回的值

【讨论】:

    【解决方案2】:

    工作小提琴:

    $("#button").click(function () {    
        if($("#test")[0].checked)
        {
            $("#test")[0].checked = false;
        }
        else
        {
            $("#test")[0].checked = true;
        }
    
    });
    

    http://jsfiddle.net/q8wvv1ky/

    【讨论】:

    • 能否请您提供jsfiddle.net 中的工作示例,它应该由循环组成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-04
    • 1970-01-01
    • 2012-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多