php - 在PHP中获取相同字符串的不同值
问题描述
我在表单中有类别复选框。当复选框被更改时,从通过ajax提交并获取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
我试图获取category
using的输入值explode
,parse_str
但无法获取的所有值category
parse_str($str, $output);
var_dump($output);
我怎样才能做到这一点?正则表达式似乎是一种选择,但我不擅长正则表达式。
解决方案
问题出在您的 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
推荐阅读
- java - 无法在 AsyncTask 中未调用 Looper.prepare() 的线程内创建处理程序
- mongodb - 使用 Selenium/Java 从 MongoDB 中检索单个字段
- html - 引导 4 容器中卡片翻转的绝对位置
- random-forest - 一棵树的随机森林比一棵决策树的性能差?
- azure-devops - Azure DevOps Services\Server 中部署组和环境之间的区别
- node.js - ClientSession 需要 Mongdb 副本集中的 ServerSessionPool - NODEJS
- python - Within contextlib.redirect_stdout() the print()-function causes an AttributeError: 'str' object has no attribute 'write'
- javascript - vue-select :从 VueJs 中的祖父组件传递选项槽
- reactjs - Ember 应用程序中的状态管理
- c++ - 更喜欢隐式转换而不是另一个