我正在尝试构建一个 JQuery Mobile 列表视图(基于入门指南)。列表项由 json 数据填充。
它基本上正在工作。该列表正在创建并正确设置样式。但该列表包括重复项。只有 2 个 json 对象,但列表包括四个项目。最后两个是前两个的重复。
我已经仔细检查了 json 数据并将变量输出到控制台。两者都只包含两个对象,没有重复。
为什么这个 jquery/javascript 在列表视图中创建重复的列表项?如何防止重复?
我的问题可能类似于jQuery Mobile 列表中的 jQuery .append() JSON 数据在刷新页面时添加重复项中描述的问题?. 但是提供的唯一解决方案并不能防止重复,它们只解释了如何过滤掉重复。这似乎是一个低效的组合。
这是我的 javascript ([live version] ( http://dev.mycourtdates.com/jq.html ))::
<!DOCTYPE html>
<html>
<head>
<title>J 2.1</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css" />
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
</head>
<body>
<div data-role="content">
<ul id = "myList" data-role="listview" data-inset="true" data-filter="true">
<script>
$.getJSON("http://dev.mycourtdates.com/jsonData.txt?",
{
id: "73125"
},
function(data) {
var items = [];
$.each(data, function(i,ct_setting){
items.push('<li><a href="#">' + ct_setting.caseNumber + '</a></li');
});
console.log(items);
$('#myList').append(items).listview('refresh');
});
</script>
</ul>
</div><!-- /content -->
</body>
</html>
这是我的 json 数据([实时版本](http://dev.mycourtdates.com/jsonData.txt)):
[
{
"active":"1",
"caseNumber":"B 1102907-C",
"timeDate":"2012-07-31 09:00:00",
"setting":"JURY TRIAL",
"location":"H.C. COURT HOUSE ROOM 320",
"plaintiffs":"STATE OF OHIO",
"defendants":"EDWARD L HOGAN",
"attorneyId":"PP68519"
},
{
"active":"",
"caseNumber":"B 1200563",
"timeDate":"2012-08-06 09:00:00",
"setting":"JURY TRIAL",
"location":"H.C. COURT HOUSE ROOM 320",
"plaintiffs":"STATE OF OHIO",
"defendants":"RONALD SILER ",
"attorneyId":"PP68519"
}
]