【问题标题】:How to get the value of selected checkbox in jquery and assign it to a json array?如何在jquery中获取选中复选框的值并将其分配给json数组?
【发布时间】:2014-06-13 12:17:41
【问题描述】:

我有一个问题,我对 jquery 知之甚少,这就是为什么我很难处理我的代码。我有一个产品分页。并且上面有复选框。我的简单目标是在选中复选框时禁用产品。但我不能以一种形式执行此操作,因为我的表单中已经有另一个流程,如果选择,则删除产品。这就是为什么我打算在我的 jquery 中创建一个表单操作并将我的复选框中的所有产品 id 传递给一个 json 数组。但是我该怎么做呢?

这是我的一些代码

<form action="<?php echo $delete; ?>" method="post" enctype="multipart/form-data" id="form">
  <table class="list">
    <thead>
      <tr>
        <td width="1" style="text-align: center;"><input type="checkbox" onclick="$('input[name*=\'selected\']').attr('checked', this.checked);" /></td>
        <td class="left"><?php echo $column_name; ?></td>
        <td class="right"><?php echo $column_sort_order; ?></td>
        <td class="left"><?php echo $column_status; ?></td>
        <td class="right"><?php echo $column_action; ?></td>
      </tr>
    </thead>
    <tbody>
      <?php if ($categories) { ?>
      <?php foreach ($categories as $category) { ?>
      <tr>
        <td style="text-align: center;"><?php if ($category['selected']) { ?>
          <input type="checkbox" name="selected[]" value="<?php echo $category['category_id']; ?>" checked="checked" />
          <?php } else { ?>
          <input type="checkbox" name="selected[]" value="<?php echo $category['category_id']; ?>" />
          <?php } ?></td>
        <td class="left"><?php echo $category['name']; ?></td>
        <td class="right"><?php echo $category['sort_order']; ?></td>
        <td class="right"><?php echo ($category['status'] == 1 ? 'Enable' : 'Disable'); ?></td>
        <td class="right"><?php foreach ($category['action'] as $action) { ?>
          [ <a href="<?php echo $action['href']; ?>"><?php echo $action['text']; ?></a> ]
          <?php } ?></td>
      </tr>
      <?php } ?>
      <?php } else { ?>
      <tr>
        <td class="center" colspan="4"><?php echo $text_no_results; ?></td>
      </tr>
      <?php } ?>
    </tbody>
  </table>
</form>

<br />
<div align="right">
  <select name="action_select">
    <option value="enable">Enable Selected</option>
    <option value="disable">Disable Selected</option>
  </select>
  <input type="button" class="button" id="update_status" value="Update Status" />
</div>
<br />

这是我的 jquery 示例

<script type="text/javascript">

    $("#update_status").on('click', function(){

        //how can I get the id of my checkboxes and assign it to a json array
        //How can I create a form inside it?

    });

</script>

这就是所有的人,我希望你能理解我的问题。谢谢。

【问题讨论】:

  • 您可以使用$('checkbox:checked') 获取jQuery 中所有选中的复选框。由于您的复选框已经在表单中,您还可以执行 $('form').serializeArray() 并遍历检查和未检查的内容。但我不确定您所说的“将其分配给 json 数组”是指 arr = []; 然后是 $('checkbox:checked').each(function(){arr.push(this.id)}); 然后是 JSON.stringify(arr)
  • 您也可以采用“Google Mail”(网络 UI)方法,在行的开头使用一个复选框,并在顶部/底部为选定的选项选择多个操作。跨度>

标签: javascript php jquery json


【解决方案1】:

否则你可以使用下面的示例代码

<script>
    $(document).ready(function()
    {
            $("input[type=checkbox]").click(function()
            {
                    var categoryVals = [];
                    categoryVals.push('');
                    $('#Category_category :checked').each(function() {
                  categoryVals.push($(this).val());
                });
                $.ajax({
                    type:"POST",
                    url:"<?php echo $this->createUrl('ads/searchresult'); ?>", //url of the action page
                    data:{'category': categoryVals},
                    success : function(response){
                       //code to do somethng if its success
                    } 
                    });
            }
    }
    </script>

【讨论】:

    【解决方案2】:

    试试

    $('input[name="selected[]"]:checked').each(function() {
       console.log(this.value);
    });
    

    更多信息:- use jQuery to get values of selected checkboxes

    【讨论】:

    • 你需要在selected后面加上[]
    【解决方案3】:

    试试

    var values = $('.list input[name="selected[]"]:checked').map(function () {
        return this.value;
    }).get();
    

    【讨论】:

      猜你喜欢
      • 2021-12-26
      • 2014-03-09
      • 2019-03-05
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-17
      相关资源
      最近更新 更多