首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过ajax返回数组

如何通过ajax返回数组
EN

Stack Overflow用户
提问于 2019-03-01 08:39:55
回答 2查看 36关注 0票数 1

我试图通过ajax返回所有选中复选框的值。我想不出如何将这些值作为参数传递。

HTML复选框

代码语言:javascript
复制
<li><input class="customer_sales_value" id="customer_sales_1" type="checkbox" value="1"><label for="customer_sales_1">James</label></li>
<li><input class="customer_sales_value" id="customer_sales_2" type="checkbox" value="2"><label for="customer_sales_2">Jack</label></li>
<li><input class="customer_sales_value" id="customer_sales_3" type="checkbox" value="3"><label for="customer_sales_3">John</label></li>
<button id="customer_pop_share_btn">submit</button>

JQUERY

代码语言:javascript
复制
$('#customer_pop_share_btn').click(function(){
    sales_list = each($('.customer_sales_value').val());
    $.ajax({
        type    : 'POST',
        url     : '//'+base_url+'/ajax2/timeline-share.php',
        data    : 'sales_list='+sales_list,
        success : function(data) {
     });    
 });

我的jquery才是问题所在,我想我想要做的就是把一个复选框值的列表传递给一个像sales_list = 1,2,3这样的变量,我该怎么做呢?

EN

回答 2

Stack Overflow用户

发布于 2019-03-01 19:04:58

首先为每个复选框设置name属性,然后在javascript中通过循环推送选中复选框的值。

代码语言:javascript
复制
<li>
    <input class="customer_sales_value" id="customer_sales_1" name="c_sales_value" type="checkbox" value="1"><label for="customer_sales_1">James</label>
</li>
<li><input class="customer_sales_value" id="customer_sales_2" name="c_sales_value" type="checkbox" value="2"><label for="customer_sales_2">Jack</label></li>
<li><input class="customer_sales_value" id="customer_sales_3" name="c_sales_value" type="checkbox" value="3"><label for="customer_sales_3">John</label></li>

$('#customer_pop_share_btn').click(function() {
  var selectedValues    = [];
   $.each($("input:checkbox[name=c_sales_value]:checked"), function(){
        selectedValues.push($(this).val());

   });
  $.ajax({
      type: 'POST',
      url: '//' + base_url + '/ajax2/timeline-share.php',
      data: {
        sales_list: selectedValues
      },
      success: function(data) {});
  });
});
票数 2
EN

Stack Overflow用户

发布于 2019-03-01 08:46:01

使用.map()生成复选框的值的数组。

在PHP脚本中,如果选中任何一个框,$_POST['sales_list']都将是一个值的数组;如果没有选中任何一个框,则根本不会设置该变量。

代码语言:javascript
复制
$('#customer_pop_share_btn').click(function() {
  var sales_list = $('.customer_sales_value:checked').map((i, el) => el.value).get();
  $.ajax({
      type: 'POST',
      url: '//' + base_url + '/ajax2/timeline-share.php',
      data: {
        sales_list: sales_list
      },
      success: function(data) {});
  });
});

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54936364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档