如何在jQuery Mobile中动态更改列表视图列表项的主题?

时间:2012-12-27 17:28:21

标签: jquery-mobile

我有一个拆分列表列表视图,其中包含一个名称,然后是一个STAR图标作为拆分按钮。

当用户点击STAR图标时,我想将星号更改为黄色(或其他东西),同时也更改列表项以转换该颜色。

我不确定如何动态更改列表项主题。我已经尝试过像这样更改列表项的数据主题

$("#my_list_item").attr("data-theme","d");

然后甚至调用listview('refresh'),但这不起作用。有什么想法吗?

4 个答案:

答案 0 :(得分:5)

你可以使用:

$(id).buttonMarkup({theme:'a'});

改变。 如果要恢复旧主题,只需替换旧主题即可。

答案 1 :(得分:1)

您可以通过更改“li”的属性并触发mouseout事件来实现此目的。

$("#my_list_item").attr("data-theme","d").trigger('mouseout');

如果要更改列表中所有列表元素的主题,请使用

$("#my_list li").attr("data-theme","d").trigger('mouseout');

这是工作的jsfiddle:http://jsfiddle.net/ChaitanyaMunipalle/5yjZV/

答案 2 :(得分:1)

尝试触发('创建')方法

$("#my_list_item").attr("data-theme","d").trigger('create');

答案 3 :(得分:0)

  1. 删除列表项的按钮上下主题。 (例如,ui-btn-up / down - " swatch主题角色")
  2. 将新主题添加到列表项的按钮上下主题。
  3. 设置列表项的新主题。 (例如$(li).attr(" data-theme"," swatch theme character")
  4. 刷新列表视图。
  5. 触发列表项上的mouseout事件。
  6. Source