Skip to main content

Jquery Mobile accordions - Collapsible listviews

    "How do I add a collapsible list to my Jquery Mobile application?" If this is the question that's bothering you, then JQM has a solution to this and a pretty simple one. You can style the listviews as collapsibles very easily and you can have individual collapsible lists or a set of collapsible lists (accordions). We will take a look at how we can achieve both of these.

    Let us begin with the individual collapsible listviews. You can achieve a collapsible by merely adding a div with data-attribute data-role="collapsible". This will style the div as a collapsible block with a default "plus" icon positioned to the left end of the list. To add a heading to the collapsible list add a heading tag (h1-h6) and you will have a left-aligned title for your collapsible header. After you have added the header, you can now have any content that you wish to include in the collapsible.

    Let's take a look at the example below to better understand the collapsible list implementation. We have 3 individual collapsible lists with different data-theme attributes. You can have a list open by default by including data-collapsed="false" attribute. By adding the data-content-theme attribute, you will get a border to the collapsible container.


    Now that we have created individual collapsible lists, we can club them together to create a collapsible set or an accordion as it is more commonly know. To do this add a div with data-role="collapsible-set" attribute around the collapsible divs and you will get an accordion. In the collapsible-set or the accordion, only one collapsible list would be open at a time. Refer to the following example to understand the implementation of a collapsible-set or an accordion.


    Hope you have followed how to create a collapsible list and a collapsible set. Do drop a comment in case you have liked this post or have some suggestions on the same. Let me know in case you have any problems and I would be happy to help! In the next post we will see some of the various issues that I came across on the Jquery Mobile official forum and their resolutions.

Comments

Recommended for You

ES6 101 - Class

Spatial Unlimited changes to The UI Dev After being hosted on blogger 😣 for the last 6 years 📆, this page has finally been moved to Github.io This means a few things for you, dear reader! You will be redirected to the new page shortly! ⏩ ⏩ ⏩ Once crapy HTML is now better looking Markdown ! 😍 😍 The entire blog is a Github repo ! 😍 😍 Spatial Unlimited is now The UI Dev 😍 😍

Fusion Table Layer...

    Today we will have a look at the "Fusion Table" Layer example. But before we start with the actual code, we will have a look at what Fusion Table is. Google Fusion Table is a free service for sharing and visualizing data online. It allows you to share data, merge data from multiple tables into interesting derived tables, and see the most up-to-date data from all sources. There is a lot of documentation about Google Fusion Table available on the web. You can visit their home page or the Google Research Blog to gather more information about Fusion Tables.     Let us have a look at the following code. The code is very short and simple to understand!     The few things to look out for in the above code are: The manner in which mapTypeId has been specified! In other Google Maps API v3 examples, we have seen that we specify mapTypeID as ROADMAP, SATELLITE, etc. i.e., all the letters are in uppercase and not in quotes! However, in this...

Google Map's Real-Time Traffic Layer...

    You can now check the traffic condition on the road before you leave for work, or a party or to your friend's place. Google's Traffic layer shows the traffic conditions in your area - LIVE!!! Live traffic data is available in major cities in the United States, France, Britain, Canada and Australia, with new cities and countries frequently added. The Google Maps API allows you to add real-time traffic information (where supported) to your maps using the TrafficLayer object. Traffic information is provided for the time at which the request is made. Consult this spreadsheet to determine traffic coverage support.     Let us now have a look at the Google Maps API - Trafiic Layer example. Copy the following code in a simple text file and save it as html. Click on this html file and it will open in your default browser. You will then see the traffic conditions in your area - LIVE...     The output of the above code looks as seen in the r...

Satellite to keep eye on Chambal, Palpur Kuno sanctuaries

         In a bid to check the rising incidents of poaching and keep an eye on the flora and fauna of the two sanctuaries in Madhya Pradesh, the government has decided to use satellite to monitor the Chambal and Palpur Kuno region.          The basic field technique, which is used currently, to maintain a log of the region’s vegetation, wildlife does not give the real time data. Therefore, the government has decided to use the Geographical Information System (GIS) Global Positioning System (GPS) for the purpose.          Madhya Pradesh’s leading animal scientist Dr. RJ Rao, who has received training in such satellite monitoring of national reserves from California, said the program ‘ARC Q-9’ is proving to be of great use in protection of the wildlife. They have used the program to prepare a database of the whole Chambal and Kuno region, said Rao. Sourc...

Side-scrolling web pages issue with Jquery Mobile - Issue #5748

    While developing a Jquery mobile based application, I came across a issue that is observed only on the iOS 6 devices and Android 4.2.2 devices.     What is the issue?         Web pages are side scrolling on iOS6 and Android 4.2.2 devices.     How did I debug the issue?         This bug was in our applications bug tracker for a long time and since I am the lone front-end developer the project that I am working on, my manger was pushing me to close this bug quickly. I had used the perfect mobile meta tag and still the web pages were side-scrolling. None of my divs had width that was going beyond the device widths and still there was this issue. That day, I decided to break down my HTML to pieces, and tested each piece on the dreadful iOS 6 device. I came down to a textbox that had some placeholder text in it and there it was, the issue was glaring me in my face. ...