【问题标题】:Getting all checkboxes that have been checked and then looping through them获取所有已选中的复选框,然后循环它们
【发布时间】:2013-08-16 19:10:43
【问题描述】:

好的,我有一个页面,在带有输入文本字段的项目旁边有一个复选框。

我在顶部有一个按钮,其中包含相同的字段,用户可以使用该按钮将设置应用于页面中已通过各自复选框选中的所有字段。

我正在尝试研究如何获取页面中所有已检查的复选框,然后循环遍历它们,以便我可以获取该行的 ID,然后更新相应的项目,但我不是100% 确定如何执行此操作。

页面上的每个复选框都有相同的类名,所以我认为这样的事情会起作用..

var selected = $('input:checked', '.discount_select');

但它似乎不起作用。

这是一个示例复选框,它是相应的文本框..

<input type="text" size="4" name="discount[101129]">
<input type="checkbox" value="1" class="discount_select" name="select[101129]">

所以基本上我想遍历找到的 selectec 复选框,希望能够以某种方式提取 id 101129,然后能够使用相同的 id 更新文本框。

JsFiddle:http://jsfiddle.net/79udU/

【问题讨论】:

    标签: javascript jquery checkbox


    【解决方案1】:

    这应该可行:

    $('#apply_selected').click(function() {
        $('.discount_select:checked').each(function() {
            $(this).prev("input").val(this.name);
        });
    });
    

    演示:http://jsfiddle.net/79udU/1/

    编辑:要实际应用顶部输入的值,请使用:

    $('#apply_selected').click(function() {
        $('.discount_select:checked').each(function() {
            $(this).prev("input").val($("#apply_discount").val());
        });
    });
    

    演示:http://jsfiddle.net/79udU/2/

    【讨论】:

    • 不太好用,例如,当我在顶部的字段中输入 90 时,它放在其他字段中的文本实际上是 select[101131]
    • @Brett -- 它应该是什么,顶部字段与它有什么关系?以为这只是循环检查输入并获取 ID 属性(不存在,这就是我使用 name 的原因)
    • 它应该是放在apply按钮左侧字段中的任何值。
    • 所有输入都应包含该指定值? @布雷特
    • 有没有办法在不使用prev 选择器的情况下做到这一点?喜欢通过引用名称/ID 来代替?
    【解决方案2】:

    你需要

    var selected = $('input.discount_select:checked' );
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-12-25
      • 1970-01-01
      • 2013-09-12
      • 2022-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多