<!DOCTYPE html>
<html>
<head>
<title>Silex Demo</title>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi"/>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css" />
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<div data-role="page" id="index" data-theme="a" >
<div data-role="header">
<h3>
User List
</h3>
</div>
<div data-role="content">
<ul data-role="listview" id="user-list">
</ul>
</div>
<div data-role="footer" data-position="fixed">
</div>
</div>
<div data-role="page" id="second" data-theme="a" >
<div data-role="header">
<h3>
Second Page
</h3>
<a href="#index" class="ui-btn-left">Back</a>
</div>
<div data-role="content">
<ul data-role="listview" id="personal-data" data-theme="a">
</ul>
</div>
<div data-role="footer" data-position="fixed">
</div>
</div>
</body>
</html>
$(document).on('pagebeforeshow', '#index', function() {
ajax.ajaxCall("http://example.gajotres.net/php/silex_demo/handler.php/", true);
});
$(document).on('click', '#user-list li', function() {
ajax.ajaxCall("http://example.gajotres.net/php/silex_demo/handler.php/" + $(this).data('listid'), false);
});
var ajax = {
parseJSON: function(result) {
$('#user-list').empty();
$.each(result, function(key, row) {
$('#user-list').append('<li data-listid="' + key + '"><a href="" data-id="' + row.id + '"><img src="http://example.gajotres.net/php/silex_demo/' + row.image + '"/><h3>' + row.name + '</h3><p>' + row.description + '</p></a></li>');
});
$('#user-list').listview('refresh');
},
parseJSONDetails: function(result) {
$('#personal-data').empty();
$('#personal-data').append('<li><img src="http://example.gajotres.net/php/silex_demo/' + result.image + '"></li>');
$('#personal-data').append('<li>Name: ' + result.name + '</li>');
$('#personal-data').append('<li>Title: ' + result.description + '</li>');
$('#personal-data').listview().listview('refresh');
$.mobile.changePage("#second");
},
ajaxCall: function(url, initialize) {
$.ajax({
url: url,
type: 'get',
async: 'true',
dataType: 'jsonp',
success: function(result) {
if (initialize) {
ajax.parseJSON(result);
} else {
ajax.parseJSONDetails(result);
}
},
error: function(request, error) {
alert('Network error has occurred please try again!');
}
});
}
}