Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jquery mobile - appending html content and applying JQuery mobile's styles

I have a mobile site which is created by appending data from an XML feed. The feed and all its data is loaded initially, and then the proper feed content is fetched from an array as the user navigates through the site. The previous content is cleared from the div, and the new content is applied. I am trying to, upon appending the new content, to call some sort of update() function to jquery mobile so that it will update the hashes, apply the proper classes, etc, but I can't seem to find this in the documentation. I read this post here:

Dynamically creating jQuery Mobile pages using jQuery Templates

But I can't find the page() function documented anywhere, and it doesn't seem to work for me. Any ideas how to accomplish this?

like image 825
mheavers Avatar asked Feb 24 '23 06:02

mheavers


1 Answers

Take a look at the latest documentation and demos page

Enhancing new markup The page plugin dispatches a “pagecreate” event, which most widgets use to auto-initialize themselves. As long as a widget plugin script is referenced, it will automatically enhance any instances of the widgets it finds on the page.

However, if you generate new markup client-side or load in content via Ajax and inject it into a page, you can trigger the create event to handle the auto-initialization for all the plugins contained within the new markup. This can be triggered on any element (even the page div itself), saving you the task of manually initializing each plugin (listview button, select, etc.).

For example, if a block of HTML markup (say a login form) was loaded in through Ajax, trigger the create event to automatically transform all the widgets it contains (inputs and buttons in this case) into the enhanced versions. The code for this scenario would be:

$( ...new markup that contains widgets... ).appendTo( ".ui-page").trigger( "create" );
like image 175
Jacob Avatar answered Apr 06 '23 01:04

Jacob