jQuery-ajax提交数组
function _ok(){
var chk_module_value =new Array();
$('input[name="module"]:checked').each(function(){
chk_module_value.push($(this).val());
});
alert(chk_module_value.length==0 ?'你还没有选择任何内容!':chk_module_value);
var module_value = "[" + chk_module_value.toLocaleString() + "]";
var chk_operate_value =new Array();
$('input[name="module"]:checked').each(function(){
chk_operate_value.push($(this).val());
});
alert(chk_operate_value.length==0 ?'你还没有选择任何内容!':chk_operate_value);
var operate_value = "[" + chk_operate_value.toLocaleString() + "]";
$.post("${pageContext.request.contextPath}/roleAuthoriedManager!testAuthorized",{'listModuleId':module_value,'listOperateId':operate_value});
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你既然是用JQuery,那为什么要传数组,直接$('form').serialize()就是整个form的所有内容了,传过去就自然会包含form里的checkbox了
其实串数组很简单的,基本上和其他的没什么区别,
参数写法为 'arr[]=1&arr[]=2&arr[]=3' 类似这样就可以了。
将你上边的改写为以下:
function _ok(){
var chk_module_value =new Array();
$('input[name="module"]:checked').each(function(){
chk_module_value.push("listModuleId[]="+$(this).val()+"&");
});
var chk_operate_value =new Array();
$('input[name="module"]:checked').each(function(){
chk_operate_value.push("listOperateId[]="+$(this).val()+"&");
});
$.post("${pageContext.request.contextPath}/roleAuthoriedManager!testAuthorized",chk_module_value.join('')+chk_operate_value.join(''),function(data){});
}
后台接收值直接 $_POST['listModuleId'] 和 $_POST['listOperateId'] 即可。
jqury写法:
html部分记得checkbox的NAME名称用module[];
$("input[name='modules[]']:checked").each(function(){
moduleAry+= "&modules[]="+$(this).val();
});
在ajax页面直接读取参数modules,就可以获取数组数据了。