我正在使用Jquery数据表并使用Ajax从服务器获取数据.基本上我发送的数据是关于订单的,并且有不同类型的订单.
我想要实现的是订单类型和订单数据一起发送,并在客户端显示图像.
我有两种主要类型,Surplus和Deficit.我在客户端和服务器上都有两个图像作为静态内容,我可以获取数据.我不知道如何显示它.
这是我从服务器获取数据的方式
- $('#matchOrderedTable').dataTable({
- "ajax": {
- "url": TippNett.Api.Url + "Match/DataTable","data": function (d) {
- d.token = authToken;
- }
- },"columns": [
- { "data": "Created" },{ "data": "Amount" },{ "data": "OrderOrg" },{ "data": "OrderMatchedOrg" },{ "data": "OrderLoc" },{ "data": "OrderMatchLoc" },]
- });
我的视图看起来像这样
- <table id="matchOrderedTable">
- <thead>
- <tr>
- <th>@Texts.Created</th>
- <th>@Texts.Amount</th>
- <th>@Texts.Organizations</th>
- <th>@Texts.MatchedOrg</th>
- <th>@Texts.Locations</th>
- <th>@Texts.MatchedLoc</th>
- </tr>
- </thead>
- </table>
关于如何做的任何想法或例子?
解决方法
尝试使用
columns.render属性,以便您可以创建自定义函数来执行逻辑以检查订单类型,然后返回图像的正确字符串表示形式.
示例(更新以匹配以下评论)
- $('#matchOrderedTable').dataTable({
- "ajax": {
- "url": TippNett.Api.Url + "Match/DataTable",{ "data": "OrderLoc",render: getImg },{ "data": "OrderMatchLoc",render: getImg }
- ]
- });
列渲染功能代码. data属性将行数据存储为对象,因此使用它来访问订单类型值.
更新:即使OrderType没有列,您仍然可以访问数据参数中的对象值.
- function getImg(data,type,full,Meta) {
- var orderType = data.OrderType;
- if (orderType === 'Surplus') {
- return '<img src="image path here" />';
- } else {
- return '<img src="image path here" />';
- }
- }
希望这会有所帮助.