2013-03-13 83 views
1

我有一个网格,我使用PHP和JSON。我正在使用ondblClickRow进行内联编辑。我需要的是:当我双击一个字段时,我希望该字段的内容将被选中。我很抱歉问这个问题,但是我没有找到这个......当我在Google上搜索时,我只找到了选择行和这个问题的例子。jqGrid:在内联编辑中选择一行文本

+0

你使用什么网络浏览器?在不同的网页浏览器中,'click'和'dblclick'事件的顺序可能会有所不同。如果'click'是第一个,你不能在'dblclick'的情况下阻止选择。如果确实需要,您只能取消选择'dblclick'事件中单击的行。 – Oleg 2013-03-13 19:56:09

+0

我正在使用Firefox。哼哼,我不知道!谢谢@Oleg。所以我认为我将不得不改变一些方式来做到这一点。再次感谢! :) – mailazs 2013-03-13 20:14:03

回答

2

我建议你看看this answeranother one。可能修改从您使用的网络浏览器的最后一个答案的代码将得到您的问题的解决方案。

+0

非常感谢你@Oleg。我会试试这个! :) – mailazs 2013-03-13 20:25:06

+0

@mzs_newbie:可能是[另一个答案](http://stackoverflow.com/a/8334227/315935)的第二部分也可能对你有所帮助。它显示了如何选择单元格内的文本。使用相同的API,您也可以取消选择文本。请参阅[答案](http://stackoverflow.com/a/3169849/315935),[此链接](http://msdn.microsoft.com/en-us/library/ie/ff975178(v = vs。 85).aspx)。 – Oleg 2013-03-14 09:19:29

+0

再次......谢谢@Oleg!你随时准备帮助那些需要它的人! :D – mailazs 2013-03-14 12:04:40

0

如果你想有一个单细胞是集中启用内嵌编辑模式后,试试这个:

ondblClickRow: function (rowId, rowIndex, columnIndex) { 
    var grid = $('#mygrid'); 
    grid.editRow(rowId, true, function() { 
    var colModel = grid.getGridParam('colMode'); 
    var colName = colModel[colIndex].name; 
    var input = $('#' + rowId + '_' + colName); 
    input.get(0).focus(); 
    }); 
} 
} 

发现这里的代码: http://www.trirand.com/blog/?page_id=393/help/setting-focus-on-a-cell-after-entering-edit-mode/

+0

不是一个单元格,而是一排......我只是想把焦点放在那个单元格中,我点击并选择内容...所以你认为我也必须实现单元格编辑吗?谢谢 – mailazs 2013-03-13 19:15:59

+0

单元格编辑用于编辑单个单元格而不是整行。因此,您希望用户能够双击某一行,让该行处于编辑内联模式,但拥有用户双击焦点的单元格?我不认为这是可能的,因为最初的双击发生在该行本身上。之后,创建可编辑元素。我认为用户只需要在初始双击之后显式地点击他们想要编辑的单元格。 – Rob 2013-03-13 19:27:41

+0

Huuumm so so ...我想连续双击,但是当我点击时我想选择第一个字段的内容或我与光标所在的字段。那么你认为这是可能的@Rob? – mailazs 2013-03-13 19:33:35

0

如果你有一个网格特定列,当你点击它应该选择它的内容,然后在colmodel这个代码添加到每一列:

{ 
    name: 'TEXT_BOX', 
    index: 'TEXT_BOX', 
    label: 'Notes', 
    width: 100, 
    align: 'left', 
    sortable: false, 
    hidden: false, 
    dataEvents: [ { type: 'click', data: { i: 7 }, fn: function(e) { e.target.select(); } }] 
} 

dataEvents将选择在输入字段当文本你点击它。

0
// Text will get Selected of cell when inline editing 
    $('#gridTableObj').jqGrid({ 
     .... 
     .. 
     afterEditCell : function(rowid, cellname, value, iRow, iCol){ 
      $('#'+rowid+'_'+cellname).select(); // with this the edited cell value will be selected.    
     } 
     ... 
     .. 

    });