在我們的項目中,我們選擇在編輯模式下的控制,對改變事件一樣適用:的jqGrid登記在編輯模式下對控件的事件與細胞編輯
var rowSelector = '#' + rowid + '_';
var controlSelector = rowSelector + columnName
var $(controlSelector).change(function() {
//code here
}
的問題是現在,隨着一些更大的重構(單元格編輯,使用格式化程序等)內部控制的ID格式不是rowid_columnName格式,而是使用序列號代替rowid。因此,例如選擇元素具有id="1_ColumnName"
代替"90433_ColumnName"
(90433是的tr
的ID) 這實際上帶來了一些問題:
- 如何內部控制應正確選擇(通過jqGrid的API)?
- 什麼可能是使用序列號而不是rowid來製作jqGrid的原因?
- 這是甚至正確的方法註冊更改事件的下拉?在
cellEdit:true
上應該做什麼事情?
謝謝,奧列格。這給了我很多必要的信息,如何繼續解決curret問題。使用這個變化事件是因爲我們對選定的值做了一些specila邏輯。我很確定這是錯誤的方法,所以我會檢查dataEvents。 問題1呢?在編輯模式下獲得tr的內部輸入的任何優先方式? –
@theberserker:不客氣!你現在有'90433_ColumnName'作爲'id'嗎?對不起,但我不明白你的問題。 「內部控制」下的意思是什麼?你目前有什麼問題? '應如何正確選擇內部控制?'不要描述你真正需要的東西。您可以定義許多[回調](http://www.trirand.com/jqgridwiki/doku.php?id=wiki:cell_editing#events),以便您的回調函數將被調用,並在單元編輯過程中通知您或向您詢問某些內容。 – Oleg
不,設置ID明確不適合我。其實沒有什麼改變。我們的ID列在之前被標記爲'key:true',就是這樣 - 沒有任何問題。在新舊代碼的差異中看不到任何剎車:[jqGenerator_new](https://www.dropbox.com/s/p1t0v2t84lxewq9/jqGenerator_new.html)[jqGenerator_old](https://www.dropbox.com/ s/p7dewio6iyul75u/jqGenerator_old.html) –