While some form elements that jQuery Mobile enhances are simply styled, some (like the slider) are custom controls built on top of native inputs.
Changing the value of a normal input such as a text or search box will render the value immediately, but changing the value of a select menu, slider, or any other complex
custom form control will require calling a
refresh operation to re-enhance the control to reflect your new value.
Let's use the example of a Select Menu to demonstrate how to update the value on a complex control:
In the snippet above we have a simple select menu, and we are updating the value of the menu after the page has initialized. When jQuery Mobile enhances the page, the select menu
will be modified to make it more mobile friendly and consistent across devices. That means the simple select menu we are used to interacting with needs a little more work to update.
We can simply call
$('select').selectmenu('refresh') to have our select menu update to its current value.
Other form inputs that require refreshing are the slider, the toggle switch, checkboxes, and radio buttons. To refresh the slider or the toggle switch, call
slider('refresh'). To refresh
the checkbox or radio controls, call