这是我的代码jqGrid。动态检索jqgrid的列值
$("#grid").jqGrid({
url:$url,
editurl:"serivce.php",
datatype: "json" ,
mtype:"post",
colNames:["test"],
colModel:[
{name:"test",index:"test", width:150,align:"center", editable:true,
edittype:"select", editoptions:{size:1, dataUrl:"../someurl.php?param1=parm }
},
],
rowNum:10,
rowList:[10,20,30],
add: {
top:30,
left:20
},
edit:{
top:30,
left:20
},
jqModal: true,
pager: "#page",
sortname: "ID",
viewrecords: true,
sortorder: "ASC",
shrinkToFit: true,
height: "auto"
}); ';
$("#grid").setGridParam({ondblClickRow: function(rowid) {
var rowData = jQuery("#grid").getRowData(rowid);
jQuery(this).jqGrid("editGridRow", rowid,
{ closeAfterEdit:true,
beforeShowForm: function(form){
// force the data value retrieve here
},
afterSubmit:function() { $("#grid").jqGrid("setGridParam", {datatype: "json"});
return true;
}
});
} // end of ondblClickRow});
}); ' ;
的dataUrl的服务器PHP代码:
$values = getWorkingValues($param);
echo '<select>';
foreach($values as $value){
echo "<option value='" . $value . "'>" .$value . "</option>";
}
echo "</select>";
如何强制 “测试” 列中的值的检索?
例如,每次网格打开进行编辑?
我使用的版本是jqGrid 3.6。 谢谢
你目前的问题是什么? dataUrl将不被调用?你需要发送'param1'这是不同的每一行?你有没有缓存的问题(例如'dataUrl'将被加载一次,并且不会每次都被检索到)?在jqGrid([免费jqGrid](https://github.com/free-jqgrid/jqGrid),[Guriddo jqGrid JS](http://guriddo.net/?page_id=103334)或旧的jqGrid版本< = 4.7)以及您使用的版本?您使用哪种编辑模式(表单编辑,内联编辑或单元格编辑)? – Oleg
谢谢奥列格。我的问题是值被缓存。我想强制在editGridRow时通过dataUrl更新值。我正在使用表单编辑。 – user2430607
**您使用的是哪个版本的jqGrid?**您在哪里启动editGridRow?您使用的editGridRow的哪些选项?您使用哪个网页浏览器进行测试?你在'dataUrl'的响应的HTTP头部设置和缓存选项('Cache-Control')(请参阅你的服务器代码)。你应该点击你的问题下方的“编辑”链接,并修改/附加文本以获得更多信息。 – Oleg