添加工具欄按鈕用於向jqgrid添加新行。 添加窗體出現包含所有提交的vlaue爲空。 如何設置從添加命令發出時當前/選擇的行的列值中添加表單字段值? 使用json遠程數據。或者,如果這更簡單,如何調用服務器方法傳遞當前/選定的行以檢索從服務器添加表單的默認值?如何在當前行的jqgrid中爲添加表單設置默認字段值
jqgrid也包含隱藏的列。如果可能的話,來自當前行的隱藏列的值也應該發送到添加控制器,如果添加表單被保存的話。
更新
我嘗試用
afterShowForm: function(formID) {
var selRowData,
rowid = grid.jqGrid('getGridParam', 'selrow');
if (rowid === null) {
// todo: how to cancel add command here
alert('Please select row');
return;
}
selRowData = grid.jqGrid('getRowData', rowid);
if (selRowData === null) {
alert('something unexpected happened');
return;
}
$('#' + 'Baas' + '.FormElement', formID).val(selRowData.Baas);
}
應用使用奧列格偉大的建議不斷增加的形式保存後打開。第一次保存後,Baas字段爲空。它看起來像afterShowForm事件只運行一次,而不是每次保存後。如何解決這個問題,以便可以添加具有默認值的多行而不關閉添加表單? 如何取消或不允許添加命令,如果沒有選定的行?
謝謝。在某些情況下,需要爲大查找表中用於外鍵輸入的jqueryUI自動填充字段設置默認值。自動完成是作爲自定義編輯元素實現的。請確認,在這種情況下使用beforeShowForm是否是最好的方法?我們是否應該在其他領域使用beforeShowForm也是爲了避免混合兩種方法來設置默認值?在哪裏可以找到添加表單中設置jqueryui自動填充字段默認值的示例代碼? – Andrus
回答示例中的代碼示例調用'grid.jqGrid('getGridParam','selrow');'兩次 – Andrus
@安德魯斯:我不能說你最好的方法是什麼*。它可以取決於許多參數。 jQuery UI自動完成「源代碼」爲您提供了很多可能性,從而可以從服務器獲取數據,因此您應該選擇哪種方式最適合您的環境*。我剛纔描述了兩種可以很好實施的方法。 – Oleg