我有一个动态创建的列表视图,显示位置列表以及这些位置有多远。对于其中一个位置(WFH),我不希望线路<span data-bind="text: distanceBetweenPoints"></span><span> mi.</span>
出现。所以我怎样才能改变这个,如果locationName =='WFH'没有出现在下一个span
。在列表视图中隐藏特定的html
下面是HTML:
<div data-role="content">
<ul id="nearbyLocationsListView" data-bind="template: {name: 'locationsListTemplate', foreach: nearbyLocations}" data-role="listview" data-filter="false"></ul>
<script id="locationsListTemplate" type="text/html">
<li>
<div>
<span data-bind="text: locationName"></span>
<span data-bind="text: distanceBetweenPoints"></span><span> mi.</span>
</div>
</li>
</script>
</div>
这里是正在创建的列表:
function GetClosestLocationByCoordinates() {
var url = 'http://localhost/GetClosestLocationByCoordinates;
var jqxhr =
$.getJSON(url,
function (data) {
$.each(data.GetClosestLocationByCoordinatesResult, function (key, val) {
var distanceBetweenPoints = distance();
nearbyLocationsModel.addNearByLocations(val.LocationId, val.LocationName, val.NumberCheckedIn, distanceBetweenPoints);
});
ko.applyBindings(nearbyLocationsModel, document.getElementById("nearbyLocationsListView"));
})
}
无论是迈克尔的回答还是我会工作。不同的是,迈克尔会设置他添加的div来显示:没有,而我的实际上将跨度从HTML中移除。 – Grinn