2015-01-02 1 views
0

2 개의 데이터 변수에 mrender를 사용하고 싶습니다. 내가 처리하지만 2 열 보인다 동안 CAMPAIGN_NAME 및 CR 열을 얻을 수 있어요2 개의 데이터 변수가 작동하지 않는 경우 림

$(document).ready(function() { 
    $('#example').dataTable({ 
     "order": [[ 2, "desc" ]], 
     "sAjaxSource": "http://localhost/survey/justearn/index/dist/downloadfile/php/", 
     "processing": true, 
     "sAjaxDataProp": "campaigns.campDetails", 
     "aoColumns": [ 
      { "mData": "campaign_name" }, 
      { 
    "mData": "url", 
    "mRender": function(data, type, val) { 
     switch (type) { 
      case 'display': 
       return '<a href="/data/' + url + '">' + url + '</a>'; 
       break; 
      // optionally, add case statements for 'sort', 'filter', and 'type' 
      default: 
       return data.bar; 
       break; 
     } 
    } 
}, 
      { "mData": "cr" } 



     ] 
    }); 
}); 

} 

의 형태로 데이터를 렌더링 sAjaxDataProp을 사용하고 있으므로

{"campaigns":{"campDetails":[{"campaign_id":"1012","campaign_name":"RP - Axe Sample (Submit)","campaign_desc":"Get your FREE sample of Axe Deodorant!","cost":"$0.00","epc":"$0.14","cr":"8.01","payout":"$1.25","url":"http:\/\/www.adworkmedia.com\/go.php?camp=1012&pub=24043&sid=","image":"http:\/\/www.adworkmedia.com\/image.php?pub=24043&id=3061&sid=","categories":"Email & Zip Submits, Survey \/ Freebie \/ Sweepstakes","incent":"Incent,No Points,No Cash","countries":"US","teaseText":"Get a Sample of Axe Deodorant! Details Apply!","teaseDesc":"Get a Sample of Axe Deodorant with your participation!","conversion_point":"E-mail Submit","device_type":"All Devices (Mobile Friendly)"},{},{}....]}} 

:처럼 내 아약스 데이터 소스입니다 내가 사용하는 시도 같은 mRender 기능에

2 mData를 사용하고자하기 때문에 오류를 가지고, 그게 전부

{"mData": "foo", 
    "mData2": "bar", 
    "mRender": function(data, data2){ 
      return '<a href="/data/' + data + '">bar</a>'; // 
     } 
    } 

배열에 익숙하지 않으므로 2 번째 열을 해결할 수 있도록 mRender로 만들 수 있습니다. 위에 게시 한 아약스 소스를 사용할 수 있습니다. 두 번째 열의 두 mData 변수를 "url"로 사용하고 위의 ajax 데이터 소스에서 mRender를 사용하여 "campign_desc".

답변

0

당신이 방화범을 사용하여 코드를 디버깅 할 경우 당신은 당신이 원하는 방식으로 간단하게하는 경우에 해당하므로 표시, val은 행 데이터가 포함되어 있음을 볼 수있을 것입니다 :

{ 
    'mRender': function (data, type, val) { 
      return <a href="/data/' + val[0] + '">' + val[1] + '</a>'; 
    } 
} 
관련 문제