【问题标题】:SlickGrid Link Formatter Dynamic Hyperlink Assistance Needed需要 SlickGrid 链接格式化程序动态超链接协助
【发布时间】:2014-02-04 12:15:58
【问题描述】:

我的 jquery 中有一个光滑的网格。它很好用,但似乎我无法创建动态 url,例如我需要获取另一列 (deviceId) 的值,然后将该值插入超链接 (/messagedetail?deviceId=1, /messagedetail?deviceId=2, / messagedetail?deviceId=3 等等...)。

      var columns = [
{id: "device_id", name: "Device ID ", field: "device_id", headerCssClass:"cell-head", cssClass: "cell-row", width:170, resizable: false,  selectable: true, sortable: true},
{id: "detail_link", name: "Details ", field: "detail_link", headerCssClass:"cell-head", formatter: linkFormatter = function ( row, cell, value, columnDef, dataContext ) {return '<a href=\"MessageDetail.jsp?deviceID='+device_id+'\"><img src=\"images/info.png\" style=\"\" alt=\"info\"></a>';}, cssClass: "cell-row", width:55, resizable: false, selectable: true, sortable: false}

];

但是,我似乎只能将值从列 defs 写入 url 链接(上面的代码),但是当我迭代为下面显示的行创建一些实际数据时,我实际上无法影响 url 链接本身下面(detail_link)并添加我想要添加的值。关于如何实现这一目标的任何想法?提前致谢。

   $(function () {
     var data = [];
     for (var i = 0; i < 500; i++) {
        data[i] = {
        id: i+1, 
        num: i+1,
    device_id: "asdf97sdfa98sdf7s987fsd987fs"+i,
    detail_link: "<a href=\"MessageDetail.jsp?deviceID=' + somevar + '\"><img           src=\"images/info.png\" style=\"\" alt=\"info\"></a>"
  };
}

【问题讨论】:

    标签: javascript jquery jquery-plugins slickgrid


    【解决方案1】:

    这可能是您的列声明中的问题。试试

    {id: "detail_link", name: "Details ", field: "detail_link", headerCssClass:"cell-head", formatter: linkFormatter = function ( row, cell, value, columnDef, dataContext ) {return '<a href=\"MessageDetail.jsp?deviceID='+dataContext['id']+'\"><img src=\"images/info.png\" style=\"\" alt=\"info\"></a>';}, cssClass: "cell-row", width:55, resizable: false, selectable: true, sortable: false}
    

    为您的列定义,看看是否修复了您的动态链接。您需要更新数据数组中的详细链接以使其为空:

    detail_link: ""   
    

    这将允许 linkformatter 函数动态地做它的事情。我没有在你的代码上测试过这个,但是这在过去对我有用。

    编辑:如果您希望链接是 device_id 而不是您要使用的 id

    {id: "detail_link", name: "Details ", field: "detail_link", headerCssClass:"cell-head", formatter: linkFormatter = function ( row, cell, value, columnDef, dataContext ) {return '<a href=\"MessageDetail.jsp?deviceID='+dataContext['device_id']+'\"><img src=\"images/info.png\" style=\"\" alt=\"info\"></a>';}, cssClass: "cell-row", width:55, resizable: false, selectable: true, sortable: false}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-27
      • 2014-03-21
      • 2021-09-15
      • 1970-01-01
      • 2016-01-05
      • 2015-03-06
      相关资源
      最近更新 更多