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

时间:2016-07-14 07:57:57

标签: javascript jquery checkbox

在foreach循环中,每行都有一个复选框。

代码为贝娄。

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>    

我应该:当我点击SendAll按钮然后选中其全部复选框并使用Jquery获取每个行隐藏值。

你能建议我吗?

感谢。

2 个答案:

答案 0 :(得分:0)

你可以

1)遍历最近的tr元素

2)在其中找到隐藏的输入。

3)使用.map()并获取所有隐藏输入值的jquery对象

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);
 });

此处hiddenValForChecked表示隐藏字段的值数组。

答案 1 :(得分:0)

这会对你有帮助;

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

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

    alert(values);
});