HTML和JSON之间交互的脚本帮助
Script help for interacting between HTML and JSON
正在寻找有关将JSON文件信息传递给HTML的脚本的一些指导。HTML将是一个单独的页面,但使用jQueryMobile来创建多页面效果。在第一页上,我只想显示每个人的名字,然后当你点击该人时,该人的信息就会显示在第二页上。我是JSON的新手,但似乎无法理解如何管理这个脚本。
HTML文件:
<!--first page -->
<div data-role="page" id="info-page">
<div data-role="header" data-theme="b">
<h1>Contacts</h1>
</div>
<div data-role="content">
<ul data-role="listview" data-autodividers="true" data-filter="true" data-inset="true" id="prof-list">
<li data-role="list-divider" data-theme="b" role="heading">Names</li>
<!-- List of all names from the JSON file listed here -->
</ul>
</div>
</div>
<!--second page -->
<div data-role="page" id="details-page">
<div data-role="header" data-theme="b"><a href="#" data-rel="back" data-role="button">Go back</a>
<h1>Information</h1>
</div>
<div data-role="list-view">
<!-- Information for person who was clicked on show here -->
</div>
</div>
JSON文件:(实际文件上有更多人(
{
"id": 0,
"age": 31,
"name": "Alex Jones",
"email": "alexjones@gmail.com",
"phone": "+1 (845) 575-2978"
}, {
"id": 1,
"age": 31,
"name": "Alice Hollow",
"email": "alicehollow@gmail.com",
"phone": "+1 (829) 454-3806"
},
这是假设您已经将JSON作为对象数组,因为我无法从您的部分JSON中判断出它的格式。它位于PLUNKER中
摘录
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery Mobile Web App</title>
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.5/jquery.mobile.min.js"></script>
</head>
<body>
<div data-role="page" id="page">
<div data-role="header">
<h1>Page One</h1>
</div>
<div data-role="content">
<ul data-role="listview">
<li><a href="#page2">Page Two</a>
</li>
<li><a href="#page3">Page Three</a>
</li>
<li><a href="#page4">Page Four</a>
</li>
</ul>
<ul data-role="listview" data-autodividers="true" data-filter="true" data-inset="true" id="prof-list">
<li data-role="list-divider" data-theme="b" role="heading">Names</li>
<!-- List of all names from the JSON file listed here -->
</ul>
</div>
</div>
<div data-role="footer">
<h4>Page Footer</h4>
</div>
<div data-role="page" id="page2">
<div data-role="header" data-theme="b"><a href="#" data-rel="back" data-role="button">Go back</a>
<h1>Information</h1>
</div>
<div data-role="content">
<table>
<tr>
<th>Name</th>
<td id="dataName"> </td>
</tr>
<tr>
<th>Age</th>
<td id="dataAge"> </td>
</tr>
<tr>
<th>Email</th>
<td id="dataEmail"> </td>
</tr>
<tr>
<th>Phone</th>
<td id="dataPhone"> </td>
</tr>
</table>
</div>
<div data-role="footer">
<h4>Page Footer</h4>
</div>
</div>
<div data-role="page" id="page3">
<div data-role="header">
<h1>Page Three</h1>
</div>
<div data-role="content">
Content
</div>
<div data-role="footer">
<h4>Page Footer</h4>
</div>
</div>
<div data-role="page" id="page4">
<div data-role="header">
<h1>Page Four</h1>
</div>
<div data-role="content">
Content
</div>
<div data-role="footer">
<h4>Page Footer</h4>
</div>
</div>
<script>
var contacts = [{
"id": 0,
"age": 31,
"name": "Alex Jones",
"email": "alexjones@gmail.com",
"phone": "+1 (845) 575-2978"
}, {
"id": 1,
"age": 31,
"name": "Alice Hollow",
"email": "alicehollow@gmail.com",
"phone": "+1 (829) 454-3806"
}, {
"id": 2,
"age": 99999,
"name": "Lazerus",
"email": "What is this EE-mall you speak of?",
"phone": "Fown? I know not of this person."
}];
var listName = document.getElementById("prof-list");
function displayNames(arr) {
var out = "";
var i;
for (i = 0; i < arr.length; i++) {
out += '<li><a href="' + arr[i].name + '" id="' + arr[i].id + '">' + arr[i].name + '</a></li>';
}
listName.innerHTML = out;
listName.addEventListener('click', function(e) {
e.preventDefault();
if (e.target !== e.currentTarget) {
var ID = parseInt(e.target.id, 10);
document.getElementById('dataName').innerHTML = arr[ID].name;
document.getElementById('dataAge').innerHTML = arr[ID].age;
document.getElementById('dataEmail').innerHTML = arr[ID].email;
document.getElementById('dataPhone').innerHTML = arr[ID].phone;
}
}, false);
}
displayNames(contacts);
</script>
</body>
</html>
相关文章:
- 在JS或jQuery或任何客户端脚本的帮助下,通过查看源代码读取源代码
- JavaScript - 需要帮助组合两个脚本
- Java脚本,需要帮助查找我的错误
- 我想在Iframe Javascript PHP的帮助下,将单个ajax上传器脚本转换为多个上传器
- java脚本我需要帮助来解决一个问题
- 我正在用java脚本编写一个hangman程序,如果玩家失败了,我需要帮助来显示这个词
- 请帮助我理解 .ascx Web 用户控件中的此脚本
- 请求有关修改 .js 脚本以在 chrome 中包含打开标签页的帮助
- 需要帮助让 Zapier 脚本示例在 JSFiddle 中工作
- 关于动作脚本颜色褪色的想法/帮助
- JS/Jquery脚本帮助,它不是循环的
- 任何人都可以帮助我使用这个简单的(JavaScript)脚本
- 需要帮助在没有提交按钮的情况下触发 jQueryTools 验证脚本
- N00B 帮助 - 用于检查输入是否可以形成直角三角形的脚本.搞砸了我的警报,不知道我是否有变量
- 需要帮助优化隐藏表行的脚本
- 在Joomla 2.5中将简单脚本转换为模块需要帮助来修复Java
- 请提供一个联系表单验证器脚本的帮助
- Db插入与脚本帮助.(Mvc)
- HTML重定向脚本帮助需要修改以显示重定向url而不是重定向
- HTML和JSON之间交互的脚本帮助