2012-03-06 78 views
0

我使用jQuery数据表显示以下信息。 ID,标题,地址,城市,ZipCode ID中的行只包含链接到产品的详细信息页面的链接,这很好,但是文本显示每个行都有“View”。这很愚蠢。我想要隐藏/删除Id列并使标题可点击,即当标题被点击时,用户应该被转移到详细信息页面。换句话说,我希望标题列接管Id列的功能。jQuery DataTable点击标题

这是我的代码。

$(document).ready(function() { 

    $('#myDataTable').dataTable({ 
     "bServerSide": true, 
     "sAjaxSource": "DataTable/AjaxHandler", 
     "bProcessing": true, 
     "aoColumns": [ 
         { "sName": "ID", 
          "bSearchable": false, 
          "bSortable": false, 
          "fnRender": function (oObj) { 
           return '<a href=\"' + oObj.aData[0] + '\">View</a>'; 
          } 
         }, 
         { "sName": "TITLE" }, 
         { "sName": "ADDRESS" }, 
         { "sName": "CITY" }, 
         { "sName": "ZIPCODE" } 
        ] 
    }); 
}); 

我使用MVC 2.0

希望这是有道理的。

回答

0
$(document).ready(function() { 

$('#myDataTable').dataTable({ 
    "bServerSide": true, 
    "sAjaxSource": "DataTable/AjaxHandler", 
    "bProcessing": true, 
    "aoColumns": [ 
        { "sName": "ID", 
         "bSearchable": false, 
         "bSortable": false, 
         "fnRender": function (oObj) { 
          return '<a href=\"' + oObj.aData[0] + '\">View</a>'; 
         } 
        }, 
        { "sName": "TITLE", 
         "fnRender": function (oObj) { 
         var al = oObj.aData[0].split('>');       
         var al2 = al[0].split('=');       
         var al3 = al2[1].split('/');       
         return "<a href='\" + al3[al3.length-1] + "'>"oObj.aData[1] + "</a>"; 
        },"aTargets": [1] 

},{ “SNAME”: “ADDRESS”},{ “SNAME”: “CITY”},{ “SNAME”: “ZIPCODE”} ] }); });

可能是帮助,这也许不是完美的它可能工作

隐藏列,你可以尝试以下链接 show/Hide column in datatable

+0

Hi Amritpal Singh!您提供的代码不起作用!发生什么事是,当我在浏览器中查看数据表时,ID仍然存在(我希望它们不在),并且标题变成链接,这很好,这也是我想要的,但链接不工作。 PS。我认为这里有一个语法错误:return“"oObj.aData[1] + "”; ,而应该说:return“" + oObj.aData[1] + "”; – Ovis 2012-03-08 15:31:55

+0

@ user806345您是否希望id列不出现。请详细说明一下 – 2012-03-08 15:36:11

+0

@ user806345我编辑了我的答案,您可以检查该解决方案是否适合您。 – 2012-03-08 15:41:52

1

嗨您提供不工作的代码。我已经设法自己解决这个问题,这是我可能处于相同情况下的最终代码。

$(document).ready(function() { 

$('#myDataTable').dataTable({ 
    "bServerSide": true, 
    "sAjaxSource": "DataTable/AjaxHandler", 
    "bProcessing": true, 
    "aoColumns": [ 
        { 
         "sName": "TITLE", //index 1 
         "bSearchable": true, 
         "bSortable": true, 
         "fnRender": function (oObj) 
         { 
          return '<a href=\"' + oObj.aData[0] + '\">' + oObj.aData["1"] + '</a>'; 
         }        
        } 
        , 
        { 
         "sName": "ADDRESS", //index 2 
         "bSearchable": true, 
         "bSortable": true, 
         "fnRender": function (oObj) 
         { 
          return oObj.aData["2"] 
         }        
        } 
        , 
              { 
         "sName": "CITY", //index 3 
         "bSearchable": true, 
         "bSortable": true, 
         "fnRender": function (oObj) 
         { 
          return oObj.aData["3"] 
         }        
        } 
        , 
              { 
         "sName": "ZIPCODE", //index 4 
         "bSearchable": true, 
         "bSortable": true, 
         "fnRender": function (oObj) 
         { 
          return oObj.aData["4"] 
         }        
        } 
       ] 
    }); 
});