如何在呈现动态创建的列表后初始化列表.js
How do I initialize list.js after a dynamically-created list is rendered?
可悲的是,list.js
根本没有过滤我的列表。我假设这是因为调用 javascript 时元素不在 DOM 中。
var render = function(list, arr){
arr.forEach(function(coder){
var context = { logo:coder.logo,
name:coder.displayName,
status:coder.status,
status_icon:coder.status_icon,
url:coder.url};
var html = template(context);
$(list).append(html);
})
var options = { valueNames: [ 'name' ] };
var hackerList = new List('hacker-list', options);
}
...
render('#all',all);
render('#offline', offline);
render('#online', online);
您可以在最后两行中看到,我尝试在 forEach 完成附加所有元素(车把模板)后调用代码。但这对我也不起作用。
这是周围的 HTML。
<div class='container' id='main-list'>
<div id='hacker-list' class="">
<ul class="row list" >
<li id='_all' class="btn btn-default col-xs-4 arrow_box all">All</li>
<li id='_online' class="btn btn-default col-xs-4 online">Online</li>
<li id='_offline' class="btn btn-default col-xs-4 offline">Offline</li>
</ul>
</div>
<input class="search" />
<div class='panel' id="all"></div>
<div class='panel' id="online"></div>
<div class='panel' id="offline"></div>
</div>
<script src="http://listjs.com/no-cdn/list.js"></script>
难道是这段代码的最后一行是过早触发的那行吗?这不是一个常见问题吗?从搜索问题来看似乎并非如此...
render('#all',all);
render('#offline', offline);
render('#online', online);
在这个all
中,offline
和online
是变量。它们是否设置在某个地方?很可能您在控制台中出现错误,指出如果您查看,则未定义它们。
根据文档 http://www.listjs.com/docs 第二个参数是选项,应包含一个对象。这是您的设置方式吗?
相关文章:
- 使用javascript函数在页面初始化后加载jquery
- 未捕获错误:无法在初始化之前调用方法;
- 如何在剑道网格初始化后设置pageSizes
- React redux初始化功能,无论状态变化如何
- 为什么可以't Protractor在自动初始化的Angular网站上查找Angular
- 尝试初始化()Spine's控制器和故障
- Angular.js延迟控制器初始化
- 对插件初始化后动态加载的元素进行样式设置
- 如何使用搜索筛选器初始化列表视图
- 列表在控制器中初始化
- 在CKEditor 4.x中,有没有办法在初始化后获取允许的标签列表
- 如何将 ASP MVC 窗体下拉列表设置为空白,但仅当基础值未初始化时
- jQuery sortable 无法与水平列表正常工作,如果列表在初始化之前为空
- 通过 ajax 加载导航后重新初始化引导下拉列表
- 如何访问动态生成的选择列表的表单元素值;s在初始化时隐藏
- JQuery移动列表视图筛选器初始化
- 如何避免在初始化数据绑定下拉列表时触发订阅
- 在Bootstrap Modal v3.3中初始化列表
- 如何在呈现动态创建的列表后初始化列表.js
- 重新初始化后,下拉列表在ie浏览器中不显示选择