0
下面的代碼用於從jqGrid colmondel創建發佈數據併發布。 它使用eval(),因爲未知鍵名/列名。 如何用更好的東西替換eval()?如何從jqgrid colmodel創建發佈數據時刪除eval
function gridValidate(elem, column, entity, eventText) {
var i,
row,
postData = { _column: column, _entity: entity },
colModel = $("#grid").jqGrid('getGridParam', 'colModel'),
val;
row = $(elem).closest('tr.jqgrow');
postData._rowid = row.attr('id');
for (i = 1; i < colModel.length; i = i + 1) {
if (colModel[i].edittype !== "textarea") {
switch (colModel[i].edittype) {
case "custom":
val = $('#' + postData._rowid + '_' + colModel[i].name).find("input").val();
break;
default:
val = $('#' + postData._rowid + '_' + colModel[i].name).val();
break;
}
eval('postData.' + colModel[i].name + '=val');
}
}
}
$.ajax('Grid/Validate', {
data: postData,
type: 'POST',
});
}