Jquery Mobile:多次更新表单

发布于 2024-10-24 07:36:46 字数 92 浏览 1 评论 0原文

好的,经过几个小时的困惑,我发现在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

无戏配角 2024-10-31 07:36:47

更新

jQuery Mobile beta2 引入了create 事件。.trigger('create') 将 JQM 增强功能应用于元素及其子元素。

请参阅:http://jquerymobiledictionary.pl/faq.html


对于一个元素,您只能使用一次。目前还没有例外。

如果 $('#container') 是您的元素,并且您使用 AJAX 替换其内容,那么您可以执行两件事:

  1. 在 < 上调用 .page() code>$('#container').children()
  2. 清空容器并在其中创建一个 div,然后对其调用 .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:

  1. call .page() on $('#container').children()
  2. empty the container and create a div inside of it, and call .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.

鱼忆七猫命九 2024-10-31 07:36:47

经过几种不能满足我的需求的解决方法后,我发现了这个特定的语句:删除或覆盖现有的 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文