Javascript 如何使用JQuery显示JSON中的特定数据?
我们公司想在一个大型招聘网站上展示我们的招聘广告。他们给我们一个JSON,在我们自己的网站上显示我们公司的工作 我想在概览中显示一些关键数据,如果单击链接,将重定向到显示详细数据的页面 JSON类似于:Javascript 如何使用JQuery显示JSON中的特定数据?,javascript,jquery,html,json,Javascript,Jquery,Html,Json,我们公司想在一个大型招聘网站上展示我们的招聘广告。他们给我们一个JSON,在我们自己的网站上显示我们公司的工作 我想在概览中显示一些关键数据,如果单击链接,将重定向到显示详细数据的页面 JSON类似于: [ { "Position": "Developer", "Date": "now", "Description": "Lorem ipsum dolor sit amet" } { "Position": "Secretary", "Date": "next month", "Descript
[
{
"Position": "Developer",
"Date": "now",
"Description": "Lorem ipsum dolor sit amet"
}
{
"Position": "Secretary",
"Date": "next month",
"Description": "Lorem ipsum dolor sit amet"
}
{
"Title": "Postman",
"Date": "now",
"Description": "Lorem ipsum dolor sit amet"
}
]
概述页面的HTML文件如下所示:
<script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script>
$.getJSON("test.json", function(json, status) {
if (status === "error") {
$("#textNoData").html("Error: " + xhr.status + ": " + xhr.statusText);
return;
}
var tr;
for (var i = 0; i < json.length; i++) {
tr = $('<tr/>');
tr.append("<h5>" + json[i].Title + "</h5>");
tr.append("<strong>Date:</strong> " + json[i].Date + "<p> </p>");
$('table').append(tr);
}
});
</script>
<div id="div-for-json"></div>
<table>
<tr>
</tr>
</table>
$.getJSON(“test.json”,函数(json,状态){
如果(状态=“错误”){
$(“#textNoData”).html(“错误:+xhr.status+”:“+xhr.statusText”);
返回;
}
var-tr;
for(var i=0;i日期:”+json[i]。日期+””;
$('table')。追加(tr);
}
});
如您所见,概览页面应显示标题和日期。如果您单击标题(必须在“h5”旁边有一个“a href=”之类的地方),您应该重定向到一个页面,其中显示特定工作邀请的标题、日期和说明
我知道,如果我设置json[0].Description,它将向我显示用于Description的第一个数据。但是我如何设置超链接和代码,以便详细信息页面显示作业1的数据,如果我单击作业1,则显示作业2的数据,如果我单击作业2。。。?否则,我将不得不为大约200个作业(json[0]、json[1]…)创建HTML文件,而这不是json的本意
我不知道如何解决这个问题……与其说是对原始问题的真正回答,不如说是一个建议,这里有一个解决方法 根据网站的构建方式,您应该为详细视图选择类似SPA(单页应用程序)的行为,而不是另一个完整的网页 这将防止加载整页仅显示少量数据。 这样,单击表格行将触发一个
slideToggle()
(),它将显示附加内容。
大概是这样的:
const json=[{
“标题”:“开发商”,
“日期”:“现在”,
“描述”:“Lorem ipsum dolor sit amet”
},
{
“职务”:“秘书”,
“日期”:“下个月”,
“描述”:“Lorem ipsum dolor sit amet”
},
{
“职务”:“邮递员”,
“日期”:“现在”,
“描述”:“Lorem ipsum dolor sit amet”
}
];
var-tr;
for(var i=0;i日期:”+json[i].Date+””;
td.append(“说明:”+json[i].Description+”);
美元(tr)。追加(td);
$(“#表”)。追加(tr);
}
$(“tr”)。在(“单击”,函数()上{
$(this.find(“div”).slideToggle();
});代码>
#表{
宽度:100%;
}
#表tr{
背景:#ccc;
光标:指针;
填充:10px;
}
#表tr td{
填充:10px;
}
您考虑过循环吗?嘿,谢谢您的回复!那会是什么样子?我完全不知道JSON或JavaScript…:-/那么,如果你打算使用它们,也许你应该学习这些东西?我强烈推荐结构化的JS教程。我建议在询问之前先学习一些JS教程。StackOverflow并不是为你做这项工作,而是帮助指导你。祝你好运非常感谢,我做了一些工作,您的代码帮助我解决了很多问题,更好地理解了JSON!很高兴这有帮助^_^