如何将复选框数据发送到 JSON 数组?
Posted
技术标签:
【中文标题】如何将复选框数据发送到 JSON 数组?【英文标题】:How can I send checkboxes data into JSON array? 【发布时间】:2013-08-13 11:32:52 【问题描述】:我是 .js 新手,在将 .js 复选框表单中的答案导出到 JSON 数组时遇到问题。
我的 html:
<form>
<input type="checkbox" name="Question1" id="Answer1" value="Answer1" onclick="show_checked()"/><label for="Answer1">Answer 1</label><br/>
<input type="checkbox" name="Question1" id="Answer2" value="Answer2" onclick="show_checked()"/><label for="Answer2">Answer 2</label><br/>
<input type="checkbox" name="Question1" id="Answer3" value="Answer3" onclick="show_checked()"/><label for="Answer3">Answer 3</label><br/>
</form>
我的 javascript:
function set_checked(checked)
$('input[name=foo]').attr('checked', checked);
$(document).ready(function ()
$("input[name='Question1']").change(function ()
var maxAllowed = 2;
var cnt = $("input[name='Question1']:checked").length;
if (cnt > maxAllowed)
$(this).prop("checked", "");
alert('Choose max. ' + maxAllowed + ' answers');
);
);
问题是,如何将选中复选框的 ID 或值发送到 JSON 数组?
【问题讨论】:
当您提交表单时,将发送所选项目。 我假设基于您使用 jQuery 的代码,或者是使用“$”的其他库? 【参考方案1】:获取数组的值
var array = $("input[name='Question1']:checked").map(function()
return this.value;
).get()
获取数组的ID
var array = $("input[name='Question1']:checked").map(function()
return this.id;
).get()
【讨论】:
【参考方案2】:看看这段代码有没有帮助
var objArray = [];
$("input[name='Question1']:checked").each(function (index, elem)
var id = $(this).attr('id');
var val = $(this).val();
var obj =
Id = id,
Value = val
;
objArray.push(obj);
);
【讨论】:
【参考方案3】:彗星的回答对我不起作用。这样做了:
var arrCB = ;
$("input[name='Question1']:checked").each(
function()
var id = this.id;
arrCB[id] = (this.checked ? 1 : 0)
);
var text = JSON.stringify(arrCB);
alert(text);
资源:
http://blog.kevinchisholm.com/javascript/associative-arrays-in-javascript/
best practice for updating a list in database associated with checkboxes in a html form
How can I send checkboxes data into JSON array?
JQuery: Turn array input values into a string optimization
【讨论】:
以上是关于如何将复选框数据发送到 JSON 数组?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 json 数据从我的 jsp 页面发送到 spring rest 控制器
如何使用 Laravel 和 Ajax 从数据库数组中检查复选框
将 Javascript 数组发送到控制器并在另一个 URL 中呈现视图结果