jQuery Mobile-如何读取JSON并显示表单搜索结果?
我目前正在尝试进入jQuery Mobile的第一步。 所以我正在开发一个火车时刻表应用程序。没什么太复杂的 我输入一些关于出发、到达、时间等的信息。 查询url如下所示: 现在,如果您转到中的应用程序索引 例如,尝试在应用程序中输入相同的值。 输入coimbra表示出发,aveiro表示抵达,2012-08-25表示日期,20表示小时 显示结果只是一个空白页,表示未定义 那么,对于我来说,传递返回的JSON值、读取它们并将它们发送到另一个具有listview的页面,从而显示搜索结果的最佳方式是什么 如果不是要求太多,请用我当前的代码向我展示示例。 因为我在这方面已经迈出了很小的一步,我已经试着读懂了其他方面的代码,但我似乎不知道该把什么、什么时候、如何……放在哪里……唉,我真是个笨蛋! 谢谢: 啊,差点忘了。 以下是HTML代码:jQuery Mobile-如何读取JSON并显示表单搜索结果?,json,forms,listview,jquery-mobile,Json,Forms,Listview,Jquery Mobile,我目前正在尝试进入jQuery Mobile的第一步。 所以我正在开发一个火车时刻表应用程序。没什么太复杂的 我输入一些关于出发、到达、时间等的信息。 查询url如下所示: 现在,如果您转到中的应用程序索引 例如,尝试在应用程序中输入相同的值。 输入coimbra表示出发,aveiro表示抵达,2012-08-25表示日期,20表示小时 显示结果只是一个空白页,表示未定义 那么,对于我来说,传递返回的JSON值、读取它们并将它们发送到另一个具有listview的页面,从而显示搜索结果的最佳方式是
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7" lang="pt"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8" lang="pt"> <![endif]-->
<!--[if IE 8]> <html class="no-js lt-ie9" lang="pt"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="pt"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<title>Pouca Terra</title>
<meta name="description" content="Pouca Terra - Train timetables">
<meta name="viewport" content="initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=0;" />
<!-- Apple Start Icon -->
<link rel="shortcut icon" href="favicon.ico">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-icon-precomposed" href="apple-touch-icon.png"/>
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="apple-touch-icon-ipad.png" />
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="apple-touch-icon-iphone4.png" />
<link rel="apple-touch-startup-image" href="apple-touch-startup-image.png" />
<!-- CSS -->
<link rel="stylesheet" href="assets/css/jquery.mobile-1.1.1.min.css" />
<link rel="stylesheet" type="text/css" href="assets/css/themes/poucaTerra.css"/>
<!-- Javascript -->
<script src="assets/js/lib/modernizr-2.5.3.min.js"></script>
</head>
<body>
<!--
****************************************************
***************** PAGE: 1 - SEARCH FORM PAGE *************
****************************************************
-->
<div data-role="page" id="search">
<!-- HEADER TOP BAR -->
<div data-theme="a" data-role="header" data-position="fixed">
<h4>Pouca Terra</h4>
</div>
<!-- END HEADER TOP BAR -->
<!-- CONTENT FORM -->
<div data-role="content" style="padding: 15px">
<form id="search-form" action="cp/getdata.php?" method="get">
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<label for="textinput1">
Departure
</label>
<input name="departure" id="textinput1" placeholder="Estação de Origem" value="" type="text" />
</fieldset>
</div>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<label for="textinput2">
Arrival
</label>
<input name="arrival" id="textinput2" placeholder="Estação de Destino" value="" type="text" />
</fieldset>
</div>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<label for="textinput3">
Date
</label>
<input name="day" id="textinput3" placeholder="Formato: aaaa-mm-dd" value="" type="date" />
</fieldset>
</div>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<label for="slider1">
Hour
</label>
<input type="range" name="hour" id="slider1" value="hour" min="0" max="24" data-highlight="true" data-track-theme="b" />
</fieldset>
</div>
<input type="submit" value="Submit" />
</form>
</div>
<!-- END CONTENT FORM -->
</div>
<!-- ***************** PAGE: 1 - END SEARCH FORM PAGE ************* -->
<!--
****************************************************
***************** PAGE: 2 - RESULTS TRAIN TIMETABLES *************
****************************************************
-->
<div data-role="page" id="results">
<!-- HEADER TOP BAR -->
<div data-theme="d" data-role="header">
<h4>Resultados</h4>
</div>
<!-- END HEADER TOP BAR -->
<!-- CONTENT FORM -->
<div data-role="content" style="padding: 15px">
<ul data-role="listview" data-theme="c" data-dividertheme="d" data-counttheme="e">
</ul>
</div>
<!-- END CONTENT FORM -->
</div>
<!-- ***************** PAGE: 2- END RESULTS TRAIN TIMETABLES ************* -->
<!-- *** Javascript at the bottom (for performance purposes) *** -->
<!-- Add to Home -->
<script type="text/javascript">
if ('standalone' in navigator && !navigator.standalone && (/iphone|ipod|ipad/gi).test(navigator.platform) && (/Safari/i).test(navigator.appVersion)) {
var addToHomeConfig = {
animationIn:'bubble', // Animation In
animationOut:'drop', // Animation Out
lifespan:30000, // The popup lives 30 seconds
expire:2, // The popup is shown only once every 2 minutes
touchIcon:true,
message:''
};
document.write('<link rel="stylesheet" href="assets/css/add2home.css">');
document.write('<script type="application/javascript" src="assets/js/lib/add2home.js"><\/s' + 'cript>');
}
</script>
<!--jquery-->
<script type="text/javascript" src="assets/js/lib/jquery-1.8.min.js"></script>
<!--jquery mobile-->
<script type="text/javascript" src="assets/js/lib/jquery-1.8.min.js"></script>
<script src="assets/js/lib/jquery.mobile-1.1.1.min.js"></script>
<!--bootstrap datepicker-->
<script type="text/javascript" src="assets/js/lib/bootstrap-datepicker.js"></script>
<!-- Application Javascript -->
<script type="text/javascript" src="assets/js/pages/index.js"></script>
</body>
</html>
我是否执行第一页中的查询,即带有表单或
第二个是带有结果的listview
这两种方法都可以,但我的建议是:这取决于你说的是真实的页面,还是JS生成的页面
在传统的基于页面的web开发中,基本模式如下:
在第1页生成查询
提交它,可以使用GET字符串,例如?foo=bar,也可以使用POST数据,例如提交表单,表单上的字段保存查询信息
服务器返回第2页,其中包含查询结果
您可以让第1页通过GET字符串或cookie将查询传递给第2页,或者将查询传递给中间的服务器,然后让第2页通过AJAX进行查询。。。但是,由于您无论如何都必须获得第2页,因此提交带有该请求的查询是有意义的
然而,在移动开发中,页面通常根本不需要导航到新的URL;相反,您只需使用DOM操作来更改页面,例如$'oldPage'.remove$body.appendnewPage;。在这种情况下,您通常通过AJAX调用进行查询,由于没有真正的页面转换,因此传递查询就像将JS变量从一个函数传递到下一个函数一样简单
在这种风格中,让第2页的代码生成实际的AJAX请求通常是有意义的
希望这会有所帮助,但我觉得我可能没有完全回答您的问题,因此如果您有任何问题,请回复。您提供了这么多信息,这很好,但我发现理解核心问题有点困难。好像我有一个页面A,用户在上面构建一个查询,然后他们被重定向到运行该查询的页面B;如何将查询本身从A页传递到B页?但我不确定是否正确。。。你能试着澄清一下核心问题吗?嘿!是的。就这样Lol you preety将大量文本恢复为4行:但当我阅读您的文本时,我想知道:我是在第一页执行查询,一个是表单查询,还是在第二页执行,一个是列表视图查询,并显示结果?天哪,有人帮帮我: