2013-03-13 81 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.    
     } 
     ... 
     .. 

    });