动态地将列表项添加到j-Query Mobile List View

时间:2012-10-31 08:17:03

标签: jquery html listview jquery-mobile

我正在尝试使用j query mobile

填充列表视图

我的HTML代码是

<!DOCTYPE html>

       

<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>

<title>Demo Page</title>

<script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css"/>

function onDeviceReady() {}
document.addEventListener("deviceready", onDeviceReady, false);

function Button_onclick() {

for(i=0; i < 3; i++){
        $("#numbers").append('<li>' +i+'</li>' );
}

}

<div >
    <input id="Click_Button" type="button" value="Submit" onclick="Button_onclick()" />
</div>

<div id="divList" data-role="content">
    <ul id="numbers" data-role="listview" data-inset="true"> </ul>
</div>

预期结果是这样的

Result i Expected

但我得到的结果是这样的

Result Obtained

任何人都可以告诉我这是什么问题吗?

2 个答案:

答案 0 :(得分:1)

因为您动态更改列表视图,所以需要刷新它以使JQM应用正确的样式。每次将一个或多个项目添加到列表时都需要这样做。

这可以通过以下声明来实现:

$('#numbers').listview('refresh');

如果您想了解更多相关信息,我想向您推荐JQM文档: http://jquerymobile.com/test/docs/lists/docs-lists.html(更新列表,位于页面底部)

答案 1 :(得分:0)

附加此onbuttonclick.

$("#numbers").append('<li style="list-style-position:inside;border: 1px solid black;">'+i+'</li>' );

li style="list-style会将li文字保留在内 border会在li

周围创建一个框

并将其用于第一个和最后一个项目。

//for first child
li:last-child{
border-bottom-left-radius: 6px;
border-bottom-right-radius: 6px;
}
//for last child
li:first-child{
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}