javascript - jqgrid json数据数组插入
问题描述
在jqgrid中,将checkbox中勾选的部分带入一个数组,通过VO插入到DB中。
我在 jqgrid 多选中检查了行数据并将其推送到声明的数组中。
objGrid.click(function(){
var data = objGrid.jqGrid('getGridParam','selarrrow');
for(var i =0; i<data.length; i++)
{
empsl = objGrid.jqGrid('getCell', data[i], 'empno');
/* empsl = JSON.parse(empsl); */
arry.push(empsl);
}
test = JSON.parse(arry);
//test = JSON.stringify(arry);
console.log(test);
});
},
buttons : {
"저장":function() {
console.log(typeof arry);
console.log("insert data",arry);
if (isRunning) {
alert($.message.common.notification.wait);
return;
}
isRunning = true;
$.post("./CheckHoliday/addCheckHolidayData"
, {empsl:arry}
, function(data){
if (data > 0) {
alert("has been saved.");
closeDialogFunc();
CheckHolidayListRefresh();
当我转换为 JSON.stringify 并按下保存按钮时,它作为一个数组很好地进入,但正如你所看到的,即使是括号和引号也按原样输入,并发生错误。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '["10010","10010","10049"],
'Y'
)' at line 7
因此,如果您认为需要将其更改为 JSON.parse(arry); 并将其转换为解析
如果复选框中只选中一个数据,则保存成功,但如果选中多个复选框,
未捕获的 SyntaxError: Unexpected token ,在 JSON.parse () 的位置 5 的 JSON 中 HTMLTableElement.eval (eval 在 (jquery-1.8.3.js:564), :102:17) 在 HTMLTableElement.dispatch (jquery-1.8. 3.js:3058) 在 HTMLTableElement.eventHandle (jquery-1.8.3.js:2676)
开发者工具控制台窗口中弹出此错误,但我似乎无法将其放入数组中。
最终目标是将所选数据放入数组中。
INSERT INTO HRS_CHECKHOLIDAY (
EMPNO
, EMPSL
, USEYN
) VALUES (
${empno},
${empsl},
'Y'
)
解决方案
arry 不是一个对象吗?所以你不能 JSON.parse(arry) 并且你必须得到一个错误。Stringify arry 然后发布字符串。那应该行得通。
推荐阅读
- webots - Webots:如何在 webbots 中恢复机器人状态?
- excel - 如何使用 UiPath 将 Excel 文件中的 2 行合并为 1 行
- python - 如何在pygame中停止将运动图像的每一帧渲染到Surface上?
- c++ - 编译器怎么了?我不明白
- python - 如何将样式器与 HTML pandas 数据框一起使用
- c - C、当 1 个完成作业创建其他线程时运行 n 个线程
- python - Python - 遍历/计算空格和标点符号
- file-upload - 为什么当我上传文本/纯 UTF-8 编码文件时,浏览器没有设置内容编码?
- json - 动态引用数据工厂副本中的 Json 值
- amazon-web-services - 来自 git 的 terraform 模块