jQuery Mobile - 如何通过JavaScript更改listview数据插入值?

时间:2013-01-24 19:39:30

标签: javascript listview jquery-mobile

我正在jQuery Mobile和PhoneGap中开发我们的移动应用程序。我们的每个主页都有一个列表视图,用于显示各种类型的数据。如果应用程序在平板电脑上运行,或者在屏幕大于特定宽度的横向视图中运行,我希望listviews将data-inset属性设置为true,并使用圆角和边框进行渲染。如果它位于预定宽度以下的较小屏幕上,我希望它不具有插入属性。

在我的函数中,我做了类似这样的事情来设置data-inset属性:

var list = $("#testlist");
list.data("inset", true);
list.listview("refresh",true);

但是,这不会更新列表。它保持格式化以适应屏幕的整个宽度。我该如何实现这一目标?我想过手动添加样式,但我不仅要将它添加到列表中,还要添加每个列表项。有没有办法可以切换数据插入属性并触发框架重新设置它?

这是一个半工作的jsFiddle模仿我想要做的事情:http://jsfiddle.net/GQgV9/12/

1 个答案:

答案 0 :(得分:1)

没有文明的方法可以做到这一点。刷新只会更新小部件的内部。要使列表插入,您必须:

  1. <ul>上设置插入类,.i.e。 ui-listview-insetui-corner-all
  2. 通过inset设置.listview('option', 'inset', true)选项。
  3. 刷新小部件,因为否则列表项不会有圆角。
  4. 以下是jsFiddle的修改版本: http://jsfiddle.net/GQgV9/13/