【问题标题】:Get different values of same string in PHP在PHP中获取相同字符串的不同值
【发布时间】:2021-03-18 15:15:22
【问题描述】:

我在表单中有类别复选框。当checkbox改变时,通过ajax提交from,获取PHP中的值。

//形式

foreach($somethings and $something){
    <input class="input_sale_category" type="checkbox" name="category" value="something->value" />`
}

我获取表单数据并通过ajax提交

      $('.input_sale_category').click(function() {
        var formData = $('#filter_sale_form').serialize();

        jQuery.ajax({
          type: 'GET',
          url: myurl,
          data: formData
          
          success: function(response) {
            console.log(response);
          },
          error: function (request, status, error) {
            alert(request.responseText);
          }
        });
      });

在 PHP 中,我将输入字段作为字符串获取

category=nexus-chair-offer&category=office-desks&category=office-storage

我尝试使用explodeparse_str 获取category 的输入值,但无法获取category 的所有值

parse_str($str, $output);

var_dump($output);

我怎样才能做到这一点?正则表达式似乎是一种选择,但我不擅长正则表达式。

【问题讨论】:

标签: php ajax


【解决方案1】:

问题在于你的 html 代码, 您在所有输入标签中都使用相同的“名称”属性 这样做只会将 1 个值发送到后端。

像这样改变你的输入标签

foreach($somethings and $something){
<input class="input_sale_category" type="checkbox" name="category[]" value="something->value" />`
}

也检查这个答案,它可能会有所帮助, Get checkbox values using checkbox name using jquery

您也可以手动获取值并将其传递到 ajax 请求的数据中

var checkboxes_value = []; 
   $('.input_sale_category').each(function(){  
        //if($(this).is(":checked")) { 
        if(this.checked) {              
             checkboxes_value.push($(this).val());                                                                               
        }  
   }); 
//checkboxes_value will be array of checked checkboxes

                         

【讨论】:

  • 我已经通过将名称更改为数组进行了检查,但是,ajax 提交了相同的字符串。
  • @VijayRana 你能控制 fromData 并将其粘贴到这里吗? stackoverflow.com/questions/52441012/… 我也在这里找到了类似的解决方案。
  • 表单数据这样提交sale_category=725&amp;sale_category=96&amp;sale_category=91
  • 我正在获取复选框值
  • @VijayRana 这里的问题是您正在获取键值对,但键应该是唯一的,并且您拥有相同的键 3 次,因此 php 只会采用一个值。
猜你喜欢
  • 2018-07-28
  • 1970-01-01
  • 1970-01-01
  • 2011-11-12
  • 2015-12-22
  • 2015-01-31
  • 2012-09-06
  • 1970-01-01
  • 2020-07-25
相关资源
最近更新 更多