9

我似乎无法弄清楚这一点。我已经尝试过 $(document).ready 并且仍然不适合我。我还尝试专门为这两个值名称创建一个 for 循环,以将结果保存到 var 并以这种方式传递。我还尝试将输入与类和 id 一起放入父 div 内部和外部进行搜索。基本上喜欢它在导航栏中。顺便说一句,使用 list.js 和 knockout.js。我使用foursquares api使用ajax请求获取我的场地。

JS:

        var options = {
        valueNames: ['name', 'category']
    };

    var userList = new List('search', options);

HTML:

<body>
<nav>
    <h1 class="formattedH1">Downtown SA,TX</h1>
    <span>
      <input type="search" placeholder="Search" class="search" id="search">
      <input type="button" class="sort searchButton" value="List"></input>
    </span>
</nav>
<div id="map" class="map"></div>
<div class="list">
    <input type="search" placeholder="Search" class="search" id="search">
    <h1>My Top 5</h1>
    <!-- Square card -->
    <div class="card" id="favViewModel" data-bind="foreach: favList">
        <div class="expand">
            <h2 class="venueName" data-bind="text:name"></h2>
        </div>
        <div class="cardSupport" data-bind="attr: {src: image()}">
        </div>
        <div class="cardSupport" data-bind="text:address">
        </div>
        <a data-bind="attr: {href: website()}">Website</a>
    </div>
    <h1>Foursquare Recommended</h1>
    <div class="card" id="recViewModel" data-bind="foreach: recommendedSpotList  ">
        <div class="expand">
            <h2 class="venueName" data-bind="text:name"></h2>
        </div>
        <div class="cardSupport" data-bind="text:location">
        </div>
        <div class="cardSupport" data-bind="text:category">
        </div>
        <div class="cardSupport" data-bind="text:rating">
        </div>
    </div>
    <script src="js/tester123.js"></script>

4

2 回答 2

14

我用项目的 github 页面上的一些评论解决了同样的问题,只要确保与示例具有相同的名称,它就会起作用,所有内容都必须在 a 中<div>并且ul必须有class 列表

像这样

<div id="hacker-list">
   <ul class="list"></ul>
</div>

链接:https ://github.com/javve/list.js/issues/9

于 2017-07-05T22:04:48.310 回答
2

我发现我的答案浏览了其他类似的项目,现在很简单。认为如果他们遇到这个问题,它可能会对某人有所帮助。那是因为我在进行 ajax 调用,所以我不得不在 ajax 请求中调用 ko.applybindings。绑定超出范围,如果您认为它是有道理的,特别是如果您的请求失败。为什么还要尝试绑定请求的值。HTML 同上,JS ajax 请求见下图:

JS:

$.ajax({
    url: 'https://api.foursquare.com/v2/venues/explore',
    dataType: 'json',
    data: 'data',
    async: true,
    success: function(data) {

        venues = data['response']['groups'][0]['items'];

        //This is where I had to place the binding to get it to render properly.
        ko.applyBindings(new recommendedViewModel(), document.getElementById('recViewModel'));

    },
    error: function() {
        alert("An error occurred.");
    }
});
于 2015-09-20T17:41:54.873 回答