インライン編集jqgridでonSelectRowの特定のセルにフォーカスを設定するには?
私は答えを試しました:
1.クリックしたセルにフォーカスを移動するにはjqGridインライン編集が必要です2.jqgridでインライン編集を開始するためにクリックされたセルにフォーカスを設定する方法3.jqGrid
で選択したセルを編集する
方法
4.設定jqgrid の選択行の編集可能な入力フィールドへのフォーカス
しかし、どれもうまくいきません!
したがって、ユーザーがクリックしたセルを見つける必要はありませんが、カーソルが各行の「lg_description」列に正確にある必要があります。問題は e パラメータにあると思います。「lg_description」列に設定すると、e パラメータの代わりに「lg_description」をどこかに添付するだけでよいと思います。
編集:
これは私のコードです:
onSelectRow: function(id, status, e){
var grid = $(this);
if(id && id!==lastSel){
grid.restoreRow(lastSel);
lastSel=id;
//cursor focus
//first attemp: $("#lg_description").focus();
//second attemp: $("input, select",e.target).focus();
//third attemp: document.getElementById("lg_description").focus();
//fourth attemp:
/*var setFocusToCell = function(e) {
if(!e || !e.target) return;
var $td = $(e.target).closest("td"), $tr = $td.closest("tr.jqgrow"), ci, ri, rows = this.rows;
if ($td.length === 0 || $tr.length === 0 || !rows) return;
ci = $.jgrid.getCellIndex($td[0]);
ri = $tr[0].rowIndex;
$(rows[ri].cells[ci]).find("input,select").focus();
}
setFocusToCell(e);*/
}
grid.editRow(id, true,"","","","",aftersavefunc);
//fifth attemp: grid.editRow(id, true,function() {$("#lg_description").focus();},"","","",aftersavefunc);
},
私は5つの異なる試行を試みました.5番目の試行はその上のコードの代わりです