Here we review Step by step jQueryMobile using Ajax to load Json data to a Table For Android and BlackBerryIn this article we create in 20 minutes a jQuery Mobile App to load Json data to a toggle Table , where you can hide or display its columns, via Ajax calls . This App is for use on all kind of Mobile devices : Nexus , iPad, iPhone, BlackBerry, Nokia, Acer , ...
The data will be loaded in Json format via Ajax, in order to be displayed on this table .
This jQuery Mobile App looks like this:
jQueryMobile using Ajax to load Json data to a Table For Android and BlackBerry
For this article on jQuery Mobile , we'll be using the jQuery and jQueryMobile Frameworks, so browse to http://jquerymobile.com/ and jQuery , and obtain the latest versions of the frameworks via CDN . If you want to use a Mobile Emulator, please refer to the following short tutorial on the Ripple Emulator.
After you got the files , add them to the Head of the HTML5 file:
First, add a Header with a NavBar , by making use of the data-role="page" and the data-role="header" , adding also a "fixed" attribute to fix the header in its place when the user scrolls the screen :
Create a "main" div element containing our table. Use the data-role=table and the data-mode=columntoggle directives, which allow to display/hide the columns. However , if you don't write "columntoggle", the table will be shown in "Reflow" mode, then ALL columns will be displayed, and all the data will be grouped in chunks per row.
Inside the table, define to each field a data-priority directive from 1 (most priority field) to 6 (less important column).
Notice that if you do not set a data-priority for a field, it will always be displayed:
We also write a button to call the function that brings the table data.
Finally, we code the markup for making a Footer with a Navbar :
This HTTP GET request tells the server that the data is expected in JSON format, so that the request's "Accept" header will include "application / json".
In case of successful performance, we do an $.each() loop on the received JSON data in the response, which includes key/value pairs, where the Key is the "id" , and the Value is the Customer JSON object.
Then, for each customer, we add to the tbody of the Table a Row with a Cell per column:
Is imperative that you REFRESH the Table after adding the Rows, therefore the table's Toggle functionality will work on the new rows.
We added also some style to this Mobile using the following CSS3 file:
All the code can be downloaded from the following GitHub repository:
This is how the jQuery Mobile Toggle Table looks :
We hope that this article was helpful for you...Happy programming.....
by Carmel Schvartzman
כתב: כרמל שוורצמן