简体   繁体   English

如何在jQuery中选择所有复选框并获取值

[英]How to select all checkbox and get value in jquery

In foreach loop there is checkbox for each row. 在foreach循环中,每行都有一个复选框。

Code As Bellow. 编码为波纹管。

foreach($rpd_records as $rpd_newslater_records)
{
    $rp_ne_value = maybe_unserialize($rpd_newslater_records->meta_value); ?>
    <tr>
        <input type="hidden" class="rpd_meta_id" name="rpd_meta_id" value="<?php echo $rp_ne_records->meta_id; ?>">
        <td><input type="checkbox"></td>
        <td><?php echo $rp_ne_value['product_id']; ?></td>
        <td> <div class="send_mail_btn" style="display: inline;">
        <a href="javascript:void(0)" class="rpd_send_it">Send</a></div></td>
    </tr>
    <?php
} ?>

<button type="button" id="sendAll" class="main"><span class="sub"></span> Send All </button>    

What I should : when i click on SendAll Button then its all checkbox are selected and get each of Row Hidden Value using Jquery. 我应该做的是:当我单击SendAll Button时,它的所有复选框都被选中,并使用Jquery获取每个行隐藏值。

Can you suggest me. 你能建议我吗。

Thanks. 谢谢。

You can 您可以

1) traverse to closest tr element 1)遍历到最接近的tr元素

2) find hidden input in it. 2)在其中找到隐藏的输入。

3) use .map() and get jquery object of all hidden input values 3)使用.map()并获取所有隐藏输入值的jquery对象

4) convert to array using .get() 4)使用.get()转换为数组

 $('#sendAll').click(function(){
  var inputcheckboxes = $('input:checked').attr("checked", true);    
  var hiddenValForChecked = inputcheckboxes.find('.rpd_meta_id').map(function(){
    return this.value;
  }).get();
  console.log(hiddenValForChecked);
 });

Here hiddenValForChecked represents array of values of hidden fields. 这里的hiddenValForChecked表示隐藏字段的值的数组。

This will help you; 这将为您提供帮助;

$("#sendAll").click(function(e) {
    $(":checkbox").attr("checked", true);    

    var values = $('input.rpd_meta_id[type="hidden"]').map(function(){
        return this.value;
    }).get();

    alert(values);
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM