问题描述
我要发布几个从Ajax到PHP的变量,其中一个是数组。但是,PHP看到的是字符串而不是数组。我不知道怎么了。
在Firefox开发者控制台中看到的Ajax字符串:
表格数据:
id=106
category_name=windows
category_friendly_name=Windows+product
show_for_ids=4
show_for_ids=7
show_for_ids=10
show_for_ids=12
is_admin_only=0
action=edit
请求有效载荷
id=106&category_name=windows&category_friendly_name=Windows+product&show_for_ids=4&show_for_ids=7&show_for_ids=10&show_for_ids=12&is_admin_only=0&action=edit
PHP:
var_dump($_POST['show_for_ids']);
输出:
string(2) "12"
使用Multi-select plugin for TableEdit和Jquery-multi-select
我想念什么?
解决方法
感谢@u_mulder评论,我通过修改jquery-tabledit
第140行的Github提供的代码来解决了这个问题。
我改变了
input = '<select class="multiSelect tabledit-input ' + settings.inputClass + '" name="' + settings.columns.editable[i][1] + '" style="display: none; width:auto;" disabled multiple >';
进入
var input = '<select class="multiSelect tabledit-input ' + settings.inputClass + '" name="' + settings.columns.editable[i][1] + '[]" style="display: none; width:auto;" disabled multiple >';