while($ques = mysql_fetch_array($query)){
<input type='text' name='answers' test_id='".$ques['test_id']."' question_no ='[".$ques['question_no']."]'>
}
输出是:
<input type='text' name='answers' test_id="1" question="1" >
<input type='text' name='answers' test_id="1" question="2" >
<input type='text' name='answers' test_id="1" question="3" >
<input type='text' name='answers' test_id="2" question="1" >
<input type='text' name='answers' test_id="2" question="2" >
<input type='text' name='answers' test_id="2" question="3" >
JAVA 脚本是:
var frm = $('#test-set-form');
var data = JSON.stringify(frm.serializeArray());
预期输出是:
[
{"name":"answers","test_id":"1","question_no":"1",value":"<input value>"},
{"name":"answers","test_id":"1","question_no":"2",value":"<input value>"},
{"name":"answers","test_id":"1","question_no":"3",value":"<input value>"},
{"name":"answers","test_id":"2","question_no":"1",value":"<input value>"},
{"name":"answers","test_id":"2","question_no":"2",value":"<input value>"},
{"name":"answers","test_id":"2","question_no":"3",value":"<input value>"},
]
我从不固定数量的输入创建一个 JSON 并发送到服务器并将每个数据保存到数据库。有什么推荐吗?提前致谢。
最佳答案
我这样使用:
while($ques = mysql_fetch_array($query)) {
<input type='text' value=''
name='"answers[{$ques['test_id']}][{$ques['question_no']}]"'>
}
输出:
[
{ "key":"answers[1][1]", value":"" },
{ "key":"answers[1][2]", value":"" },
//...
{ "key":"answers[5][15]", value":"" }
//...
]
如果你只需要使用你的符号,那么用js解析html:
var $inputs = $('#form').find('input[name=answers]');
var data = [];
$inputs.each(function() {
var attrsData = {};
attrsData['name'] = $(this).attr('name');
...
data.push(attrsData)
});
你会得到你想要的
$.ajax({
data: data
...
})
关于javascript - 在自定义数组 JavaScript 中创建具有未知数量输入的 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28198609/