首页 > 解决方案 > 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 : {
            "저장&quot;: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'
)

标签: javascriptjqueryarraysjson

解决方案


arry 不是一个对象吗?所以你不能 JSON.parse(arry) 并且你必须得到一个错误。Stringify arry 然后发布字符串。那应该行得通。


推荐阅读