JQuery克隆选择区域并将其全部传递给PHP数组
JQuery cloning of select areas and passing all to PHP Array
我需要通过post将一个表单的克隆区域添加到PHP,然后每个添加到一个数组。
我的代码 <div class="input-main white_bg cloneneedsanalysis">
<div class="action-input clone-needs-analysis">
<div class="action-input-white-shorter">
<div class="inner-sub-title-less-padding">
<p>Audience Analysis</p>
</div>
<div class="col-md-12">
<div class="form-group">
<select class="select2 select2-multiple" multiple="multiple" data-placeholder="Choose ..." name="needs_analysis[]">
<option value="">-- Choose Audience Categories --</option>
<option value="536"> Finance - - Cash collection </option>
<option value="537"> IT - - Comms IT </option>
<option value="538"> Strategy - - Strategy team 1 </option>
</select>
</div>
</div>
</div>
<div class="action-input-plus-needs-analysis"> </div>
<div class="action-input-remove-needs-analysis"> </div>
</div>
</div>
克隆工作,但当我通过POST发送到PHP时,它将只捕获最后一个,因为它们都被称为称为needs_analysis[]
那么,在克隆时,我如何编辑名称使其不同,以及如何让PHP循环遍历每个数组?
我的JQuery;
$(document).on('click', '.clone_needs_analysis_button', function(e) {
e.preventDefault();
$(this).closest('.clone-needs-analysis').clone().insertAfter('.cloneneedsanalysis:last');
$(this).closest('.action-input-plus').hide();
$(this).closest('.action-input-remove').removeClass('hidden');
我的PHP;
$needs_analysis = array();
foreach ($_POST['needs_analysis'] as $key => $value) {
$needs_analysis[$key]['audience_id'] = $value;
$needs_analysis[$key]['created'] = $_POST['updated'];
$needs_analysis[$key]['created_by'] = $_POST['updated_by'];
$needs_analysis[$key]['solution_id'] = $_POST['solution_id'];
}
foreach ($needs_analysis as $needs_analysis_insert) {
$db->insert('design_needs_analysis', $needs_analysis_insert);
}
你的多选区名称应该是这样的:
needs_analysis[1][]
needs_analysis[2][]
您可以在服务器端生成页面时执行此操作,也可以在JavaScript
:
$('[name="needs_analysis[]"]').each(function(index) {
var currentElement = $(this)
currentElement.attr('name', 'needs_analysis['+index+'][]')
})
为了循环遍历PHP
中的值,您可以这样做:
foreach ($_POST['needs_analysis'] as $k=>$v) {
//$v represents the value array for a select element
foreach ($v as $k2=>$v2) {
//do something with each value
}
}
相关文章:
- 如何在映射数组中添加换行符
- javascript结合了数组和字典
- 需要帮助设置json数组
- 不能从angular2中的子组件指定父组件中的数组
- 使用JS将数组转换为json对象
- 数组在递归方法中设置为null
- knockoutjs可观察数组
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将数组从PHP传递到Javascript
- JavaScript 2D 数组的独特元素.如果有重复项,如何全部删除
- 多维布尔数组检查 Javascript 中是否全部为真
- JavaScript执行函数数组&如果全部返回True,则返回True
- 我怎么能得到这些数组值全部打印到html表单
- 如何检查对象中的数组是否全部为空
- JQuery克隆选择区域并将其全部传递给PHP数组
- JavaScript:将超时保存在数组中并全部清除
- 提取任意给定数组中的所有数字,然后将它们全部相加
- 王牌编辑器查找全部不起作用.需要所有带有 dif 的单词.数组中的值
- HTML表单提交值并将它们全部存储在一个新数组中(javascript)
- 字符串解析——为什么在javascript中将输入数组元素全部解析为整数时会出现运行时错误