這是我的代碼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