2014-09-05 305 views
1

如何在表格中显示时将我的JSON文件中的URL值设置为超链接?JSON文件中的超链接URL值

JSON

{ 
    "one": "http://urltovideo.mp4", 
    "two": "The second list item", 
    "three": "The third list item" 
} 

jQuery的

$.getJSON("test.json", function(data) { 
    var items = []; 
    $.each(data, function(key, val) { 
    items.push("<div class='panel panel-default'><div class='panel-heading'>" + key + "</div><div  
    class='panel-body'><a href=''>" + val + "</a></li></div></div>"); 
    }); 

    $("<ol/>", { 
    "class": "my-new-list", 
    html: items.join("") 
    }).fadeIn(900).appendTo("body"); 
}); 
+0

你只需要更缓慢地走一点点就行items.push。也许你想在这之前有一个if语句来分离出超链接? – ControlAltDel 2014-09-05 14:30:47

+0

[是不是那些超链接已经?](http://jsfiddle.net/1L7hf6L5/) – 2014-09-05 14:39:52

回答

0

您需要检查是否val是包含一个链接:

$.each(data, function(key, val) { 
    var link = (val.indexOf('http') > -1) ? '<a href="' + val + '">' + val + '</a>' : val; 

    items.push('<div class="panel panel-default"><div class="panel-heading">' + key + '</div><div  
    class="panel-body">' + link + '</li></div></div>'); 
    }); 

而且,更干净的代码,你应该使用"为HTML属性如class="..."' f或JavaScript字符串,如:'<a href="' + val + '">'

jsFiddle

+0

我可以看到如何工作,但它的返回undefined作为显示的值和URL值。 – Matt 2014-09-05 14:40:39

+0

@Matt我加了一个小提琴,应该可以工作 – 2014-09-05 14:45:49

+0

这很有效,谢谢! – Matt 2014-09-05 14:52:50