But, if for some reason, you MUST do it in the browser...
jQuery Mobile initializes all widgets ONCE when the page is loaded. It sends the pageinit event after it initializes widgets. data-attributes are only used at initialization, and changes you make later will have no effect.
Some widgets have API functions that can be used to change some settings.
In some cases, you may have to destroy and re-create the widget.
You can change data-attributes BEFORE the widgets are initialized, and then the widget will be created with your changed settings. Use the page's beforecreate event.
In the particular case, the filterable and listview widgets have functions you can use: