2013-02-12 82 views
1

重點可編輯輸入欄上選擇行在我的網格我使用自定義格式編輯其列字段值之一。坐落在jqGrid的

我想將焦點設置到編輯字段上選擇網格的行。

請幫我在這...

這是我的網

jQuery("#myGrid").jqGrid({ 
datatype: "local", 
colNames:['','','',''], 
colModel:[{name:'id',index:'id', width:50, hidden:true}, 
      {name:'activname',index:'activname', width:100, title: false}, 
      {name:'formattedvalue',index:'formattedvalue', width:200, formatter:formatField}, 
      {name:'value',index:'value', hidden:true}], 
height: window.innerHeight - 318, 

onSelectRow: function(id,stat,e) 
{ 
    // here I want to set the focus to the editable field 
}}); 

,這是格式化功能

function formatField(cellvalue, options, rowObject){ 
jQuery("myGrid").jqGrid('setColProp','formattedvalue', 
    {editable: true, 
    edittype:"custom", 
    editoptions: { 
    custom_element: function(value, options) { 

     var elemStr = '<div><input type="text" id="'+ options.id +'_id" tabindex="2" maxlength="10" size="10" value="' + value + '" /> </div>';   

     var $custElem = jQuery(elemStr); 

     $custElem.find("input").bind("keydown",function(e) {    
     return dynamicFieldKeyPressed(e, this, rowObject);       
     }); 

     return $custElem[0]; 
    }, 
    custom_value: function(elem, operation, value){   
     return jQuery(elem).find("input").val();   
    } 
    } 
}); 
return cellvalue;} 
+0

您可以添加一些示例代碼嗎? – slm 2013-02-12 05:14:49

+0

請參閱更新的答案 – Kris 2013-02-12 06:04:20

回答

0

您可以使用

更新:

onSelectRow: function(id,stat,e){ 
if(id && id!==lastSel){ 
    jQuery('#myGrid').restoreRow(lastSel); 
    lastSel=id; 
} 
jQuery('#myGrid').editRow(id, true); 
$("#"+id+"_formattedvalue").focus(); 

    }, 

未測試,但應該工作

+0

感謝您的回答... 其實我的情況比這個稍微複雜一點..我有不同類型的字段(文字,廣播,選擇,文本區域等等)不同的ID .. 所以我管理像這樣的東西.. '的jQuery(' 輸入[ID * = 「 '+ ID +' _ FormattedValue的」],選擇[],文本區域[] ')聚焦();'。 – idsTech 2013-02-12 09:13:32

+0

歡迎您光臨@idsTech – Kris 2013-02-12 09:16:28