2011-11-30 71 views
2

我有一個jqGrid。我想突出顯示一行中的特定單元格,ondbClickRow。這將使得將單元格的值複製到剪貼板的任務變得容易,對於用戶來說也是如此。有人可以指導我如何做到這一點?謝謝!突出顯示覆制的雙擊單元格值

回答

2

通常情況下,這可能會發生,但您應該關閉行選擇以立即查看突出顯示。因此,代碼會了解以下信息:

beforeSelectRow: function() { 
    return false; 
}, 
ondblClickRow: function (rowid, iRow, iCol, e) { 
    $(e.target).toggleClass('ui-state-highlight'); 
} 

其結果是,你可以有一個像

enter image description here

看到相應的演示here

修訂格:如果您需要選擇在網格單元格中的文字可以使用here描述的想法。在使用的情況下,jqGrid的內部的代碼可能是以下幾點:

var selectText = function (element) { 
    var doc = element.ownerDocument, selection, range; 
    if (doc.body.createTextRange) { // ms 
     range = doc.body.createTextRange(); 
     range.moveToElementText(element); 
     range.select(); 
    } else if (window.getSelection) { 
     selection = window.getSelection(); 
     if (selection.setBaseAndExtent) { // webkit 
      selection.setBaseAndExtent(element, 0, element, 1); 
     } else { // moz, opera 
      range = doc.createRange(); 
      range.selectNodeContents(element); 
      selection.removeAllRanges(); 
      selection.addRange(range); 
     } 
    } 
}; 

$("#list").jqGrid({ 
    // ... jqGrid options 
    ondblClickRow: function (rowid, iRow, iCol, e) { 
     selectText(e.target); 
    } 
}); 

next demo證明這一點:

enter image description here

+0

感謝奧列格。這與我想要的非常接近。在示例中的「日期」列中,是否有任何方式可以獲取選定的整個日期,而不是通過 - 或/?進行分隔。我的用戶將選擇的列是URL。 – Jai

+0

@Jai:我不明白你的意思。如何看到整個單元格上方的圖片將突出顯示。 – Oleg

+0

我試圖發佈圖片,但沒有這樣做。請在下面的屏幕截圖中查看2007年10月1日的數據。 [截圖](https://picasaweb.google.com/115278692335129964011/Stackof#5681191684714414994)我正在尋找的副本,而不是隻突出顯示單元 – Jai

相關問題