【发布时间】:2017-12-10 17:12:47
【问题描述】:
我知道关于这个主题有很多类似的问题,但我一直在尝试自己解决这个问题,但我无法做到,已经一个星期了。
我想要做的只是用文本框过滤列表。代码如下:
HTML:
<!DOCTYPE html>
<html>
<head>
<title>Magic Towns</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="css/styles.css">
<style>
html,
body {
font-family: Arial, sans-serif;
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<div class="menuContainer">
<span class="center" style="font-size:30px;cursor:pointer" onclick="openNav()">☰</span>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#"><h1>Locations:</h1></a>
<form role="search">
<input type="text" data-bind="value: query, valueUpdate: 'keyup'" placeholder="Search...">
</form>
<div data-bind='with currentPlace' >
<div data-bind='foreach: placeList'>
<p href="#" class="whiteFont" data-bind='text: city, click: closeNav'></p>
</div>
</div>
</div>
</div>
<script src='js/sidebar.js'></script>
<script src="js/jquery-3.2.1.min.js"></script>
<script src="js/knockout-3.4.2.js"></script>
<script src="js/data.js"></script>
<script src="js/app3.js"></script>
</body>
</html>
javascript:
var Place = function(data) {
this.city = ko.observable(data.city);
this.lat = ko.observable(data.lat);
this.lng = ko.observable(data.lng);
};
var ViewModel = function() {
var self = this;
self.placeList = ko.observableArray([]);
self.query = ko.observable(''),
initialPlaces.forEach(function(placeLocation) {
self.placeList.push( new Place(placeLocation));
});
self.currentPlace = ko.observable( this.placeList()[0]);
};
ko.applyBindings(ViewModel);
数据:
var initialPlaces = [
{"city":"R","lat":22,"lng":-102},
{"city":"T","lat":23,"lng":-110},
{"city":"P","lat":18,"lng":-92},
{"city":"F","lat":25,"lng":-102},
];
我已经尝试过这个链接 Link1 Link2 和另一个链接,但什么都没有......我是 Javascript 和淘汰赛的菜鸟(不超过 2 周)。
每次我尝试任何示例时,我的列表都会变为空白,并且没有显示任何内容。
能否请您告诉我在哪里可以找到有关如何解决此问题的信息,或者您能否提供任何意见。
谢谢
【问题讨论】:
标签: javascript html knockout.js