Jquery Mobile:多次更新表单
好的,经过几个小时的困惑,我发现在 Jquery Mobile 元素上调用 page() 只能工作一次。
如果我想通过 AJAX 多次更新表单,该怎么办?
OK, after many hours of confusion I have discovered that calling page() on Jquery Mobile elements only works once.
What do I do if I want to update a form multiple times via AJAX?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
更新
jQuery Mobile beta2 引入了
create
事件。.trigger('create')
将 JQM 增强功能应用于元素及其子元素。请参阅:http://jquerymobiledictionary.pl/faq.html
对于一个元素,您只能使用一次。目前还没有例外。
如果
$('#container')
是您的元素,并且您使用 AJAX 替换其内容,那么您可以执行两件事:.page()
code>$('#container').children().page()
。如果您的内容需要包装(如列表),则第二个选项更好,我一般会推荐它。
如果您使用列表视图或其他东西,请查看
.listview('refresh')
或其他专用方法。update
jQuery Mobile beta2 introduces a
create
event..trigger('create')
applies JQM enhancements to an element and its children.See: http://jquerymobiledictionary.pl/faq.html
You have to use it only once for an element. No exceptions yet.
if
$('#container')
is your element, and you replace its content with AJAX, then there are two things you can do:.page()
on$('#container').children()
.page()
on it.The second option is better if your content needs to be wrapped (like a list) and I'd recommend it in general.
If you are using a listview or something take a look at
.listview('refresh')
or other dedicated methods.经过几种不能满足我的需求的解决方法后,我发现了这个特定的语句:删除或覆盖现有的 div 并在新的 div 上调用 .page() 。如果内容必须多次重新加载/重新渲染/刷新,则此方法效果最佳。
After several workarounds that did not meet my needs, I found this particular statement: remove or overwrite an existing div and call .page() on new div. This works best if content has to be reloaded / re-rendered / refreshed more than once.