0
    var $areas = $('#ulArs'); //To take the control of ulArs
    $areas.empty();
    $areas.append('<li id="li1" data-role="list-divider"></li>');
    for (var i = 0; i < result.rows.length; i++) 
    {
     li = "<li id='home_nav' style='white-space:normal'></li>";
    }
     $areas.append(li).trigger('create');
     $areas.listview('refresh');

我正在创建具有多个 li 的动态 UL。我想在更改复选框时替换一个特定的 li 而无需刷新。在 jquery mobile 中可以吗?

4

2 回答 2

1
var $areas = $('#ulArs'); //To take the control of ulArs
$areas.empty();
$areas.append('<li id="li1" data-role="list-divider"></li>');
var li = '';
for (var i = 0; i < result.rows.length; i++) {
  li += '<li class="home_nav" id="home_nav-' + i + '" style="white-space:normal"></li>';
}
$areas.append(li).trigger('create');
$areas.listview('refresh');

您可以参考 a liwith id,例如:

$('#home_nav-0')

或添加元素的任何其他信息li,例如data

于 2012-09-24T16:29:24.650 回答
1

据我所知,您绝对应该调用 refresh 方法。但是有什么问题吗?根据此信息(“更新列表”部分):“请注意,refresh() 方法仅影响附加到列表的新节点。这样做是出于性能原因。任何已增强的列表项都将被刷新过程忽略。”

于 2012-09-24T16:26:00.190 回答