【发布时间】:2021-12-20 13:04:58
【问题描述】:
在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);并将其转换为解析
如果复选框中只有一个数据被选中,则保存成功,但如果选中多个复选框,
Uncaught SyntaxError: Unexpected token , 在 JSON.parse () 的位置 5 在 HTMLTableElement.eval (eval at (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'
)
【问题讨论】:
标签: javascript jquery arrays json