2016-05-13 16 views
1

私は、サーバーからロードされるJson-FileからDataTableの行をレンダリングしています。DataTableをJsonからレンダリングし、列の1つを変更する

ロゴ(画像)のリンクが含まれていますが、そのリンクは、ロゴの代わりにプレーンテキストではなく、プレーンテキストとしてレンダリングしないでください。

どうすればいいですか?ここで

のDataTableをレンダリングするために私のコードです:

$(document).ready(function() { 
    $('#osPartner').DataTable({ 
     "ajax": "test2.json", 
     "columns": [ 
      { "data": "pId" }, 
      { "data": "sName" }, 
      { "data": "lgName" }, 
      { "data": "logo" }, 
      { "data": "inc" }, 
      { "data": "details.teaserImage2" } 
     ] 
    }); 
}); 

すべてのデータがロードされているが、「ロゴ」の欄には、リンクされています。リンク(テキスト)としてではなく、リンク上にある画像をどのように表示できますか?その列を変更、などhtmlコードとのリンクを、取り囲むようにそこに可能性である:

<img src="logo_url_here_that_i_become_from_jsom" alt="Mountain View" style="width:304px"> 

または

logo = "<img src='"+ logo + "' alt='Mountain View' style='width:304px'>" 

ここでは、私のJSONファイルがどのように見えるかです:

{ 
    "data": [ 
    { 
     "sName": "hjp", 
     "lgName": "Hi Ju Pi", 
     "pId": "lap34208", 
     "feat": false, 
     "logo": "https://www.link-here.de/images/image1.png", 
     "details": { 
       "teaserImage": "https://link-here.de/mg/dsa/dev/img/image1.png", 
       "teaserImage2": "https://link-here.de/mg/dsa/dev/img/image1.png" 
     } 
     }, 
     { 
     "sName": "hjp2", 
     "lgName": "Hi Ju Pi22", 
     "pId": "ldfsdf38", 
     "feat": false, 
     "logo": "https://www.link2-here.de/images/image2.png", 
     "details": { 
       "teaserImage": "https://another-link-here.de/mg/dsa/dev/img/picture1.png", 
       "teaserImage2": "https://another-link-here.de/mg/dsa/dev/img/pic2.png" 
     }} 
    }] 

}

+0

画像の拡張子は何ですか?これは 'logo_url_here_that_i_become_from_jsom'の右のURLですか? –

+0

ロゴのURLがあるはずです.ejax/jsコードのように、4列目の "ロゴ"のDataTableに入っています。今、私はここにプレーンテキストとしてlogo-urlを作成していますが、そのリンクにあるロゴイメージを表示したいです。 – ZelelB

+0

JSONの外観はどうですか?何かは、「ログ」アイテムに変更可能なHTMLが含まれていることを示します。 – davidkonrad

答えて

0

renderの方法を使用できます。

"columns": [ 
    { "data": "pId" }, 
    { "data": "sName" }, 
    { "data": "lgName" }, 
    { "data": "logo", 
    render : function(data, type, full, meta) { 
     return type == 'display' ? '<img src="'+ data + '"/>' : data 
    } 
    }, 
    { "data": "inc" }, 
    { "data": "feat" } 
] 

(あなたが<img>のために特定のtitleまたは類似を設定する場合)あなたはfull変数を介しての行のすべてのアイテムを取得することができます。

+0

完璧!うまく動作します;-)多くありがとうございます! – ZelelB

+0

@KarimBelkhiria、はい - '}'/']'を使いこなして、今すぐ例を修正しました。 – davidkonrad

+0

と "teaserImage2"を列としてレンダリングしたい場合はどうすればできますか?私はプレーンテキストとしてもそれを取得しません..どのようにアクセスするには?私は "{" data ":" details:teaserImage2 "}で試しましたが、私はできませんでしたが、もし私がそれをしたら、最初のものと同じように、私たちは上で解決しました..最初の問題:2番目の問題にアクセスし、プレーンテキストではなくリンクとしてレンダリングする PS:私のjsonの構造を今変更しました。実際のものを見ることができます – ZelelB

関連する問題