как вернуть массив через ajax - PullRequest
0 голосов
/ 01 марта 2019

Я пытаюсь вернуть значения всех выбранных флажков через ajax.Я не могу понять, как передать значения в качестве параметра.

HTML CHECKBOXES

<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

$('#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. Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

сначала установите атрибут имени для каждого флажка, затем вставьте значение отмеченного флажка через цикл в 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) {});
  });
});
0 голосов
/ 01 марта 2019

Создайте массив значений отмеченных полей, используя .map().

. В скрипте PHP $_POST['sales_list'] будет массивом значений, если какой-либо из флажков установлен;если ни один из флажков не установлен, переменная вообще не будет установлена.

$('#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) {});
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...