javascript - SlickGrid 链接格式化程序 需要动态超链接帮助

标签 javascript jquery jquery-plugins slickgrid

我的 jquery 中有一个光滑的网格。它工作得很好,除了我似乎无法创建动态网址,例如我需要获取另一列 (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>"
  };
}

最佳答案

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

{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}

关于javascript - SlickGrid 链接格式化程序 需要动态超链接帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21147402/

相关文章:

jquery - 同位素定位后找到目标位置

jquery - 仅使用 jquery 使用粘性页脚(子页脚和主页脚底部)

JQuery - 可缩放/调整背景图像大小

javascript - 将 REST API 用于 Discord 机器人

javascript - 使用第一个对象的值在第二个对象中查找对应的值

javascript - 有没有一种方法可以将所有潜在参数保存在一个数组中?

javascript - 将你的分数与 jQuery 中的三个范围进行比较的最短方法

javascript - jquery navigate + highlight <li> key.code pressed 上的元素

javascript - 在Selenium中,如何在登录网站时处理InvalidSelectorException

javascript - 如何在复选框的 Bootstrap 中禁用按钮?