我有以下代码将chipsData
从芯片发送到输入表单。
onChipAdd: (event, chip, modal) => {
var chipsData = M.Chips.getInstance($('.chips')).chipsData;
var chipsDataJson = JSON.stringify(chipsData);
$('#ModalEdit #userEventData').val(chipsDataJson);
},
onChipSelect: () => {
},
onChipDelete: () => {
var chipsData = M.Chips.getInstance($('.chips')).chipsData;
var chipsDataJson = JSON.stringify(chipsData);
$("#userEventData").val(chipsDataJson);
}
}
表单输入字段:
<input type="hidden" name="userEventData" id="userEventData" value="">
[当我回声时,我收到如下字符串:[{"tag":"name1"},{"tag":"name2"}]
我正在寻找一种解决方案,可以将其从字符串传输到数组,以便稍后将其插入数据库。有什么想法吗?
*我已经检查了其他问题,可以找到任何解决方案。(How to store and retrieve materializecss chips?)
您得到的就是所谓的JSON编码数据。您可以使用json_decode()函数在PHP中对其进行解码,该函数(根据您的情况)将为您提供一个二维数组以供使用:
$json = '[{"tag":"name1"},{"tag":"name2"}]'
var_export(json_decode($json, true));
输出:
array (
0 =>
array (
'tag' => 'name1',
),
1 =>
array (
'tag' => 'name2',
),
)
注意,因为我喜欢使用数组而不是对象,所以我将true
作为第二个参数传递给json_decode()
。>