我有以下复选框,我想将选中的值传递给数组,以便我可以执行ajax帖子。但是,我遇到了一个错误,我不确定我哪里出错... 如何将值传递给数组以及如何检索它们?
HTML
<input type="checkbox" name="newCheckboxes" value="1" />
<input type="checkbox" name="newCheckboxes" value="2" />
<input type="checkbox" name="newCheckboxes" value="3" />
脚本(不工作)
var allFields = $( [] );
$("#newCheckboxes:checked").each(function() {
allFields.add( $(this).val() );
});
$.ajax(
{
type:"POST",
url: "PostedHere",
data:{
checkedValues: allFields
}
});
答案 0 :(得分:1)
你只需要:
$.ajax({
type:"POST",
url: "PostedHere",
data: { checkedValues: $("#newCheckboxes:checked").serialize() }
});
// checkedValues: "newCheckboxes=1&newCheckboxes=2" etc..
答案 1 :(得分:0)
使用karim79代码构思:
$.post('URL', $('[name="newCheckboxes"]:checked').serializeArray(), function(data){
//data
});
答案 2 :(得分:0)
我更喜欢做的是:创建一个新对象并将所有复选框'Value'和'Ischecked'添加到数组(访问),然后通过Json将其传递给页面:
$(document).ready(function () {
$("#btnSave").click(function () {
event.preventDefault();
$("#newCheckboxes").each(function () {
var data= new Object()
var access = new Array();
access.ChValue = $(this).attr("value");
if ($(this).attr("checked") == "checked") access.ChChecked = true;
data.push(access);
});
$.ajax({
type: 'POST',
url: '@Url.Content("~/URLofPage")',
data: $.json.encode(data),
dataType: 'json',
contentType: 'application/json; charset=utf-8'
});
});
});
请不要忘记将Json引用添加到您的页面:
<script src="../../../Scripts/jquery.json.js" type="text/javascript"></script>