【发布时间】:2014-03-28 21:52:31
【问题描述】:
我正在启动一个单页应用程序,但仍未选择任何框架。它需要做的唯一复杂的事情是允许用户从树结构中为表单的一个字段选择一个元素。如果它可以同时使用鼠标选择和键盘自动完成功能,那就太好了。这棵树有 5 层深,包含大约 500 个元素。实现这一点的好方法是什么?
【问题讨论】:
标签: single-page-application hottowel
我正在启动一个单页应用程序,但仍未选择任何框架。它需要做的唯一复杂的事情是允许用户从树结构中为表单的一个字段选择一个元素。如果它可以同时使用鼠标选择和键盘自动完成功能,那就太好了。这棵树有 5 层深,包含大约 500 个元素。实现这一点的好方法是什么?
【问题讨论】:
标签: single-page-application hottowel
这是一个向您展示如何递归构建树的小提琴:http://jsfiddle.net/KtbXb/。
就输入而言,将点击函数绑定到每个节点将调用一个函数,该函数可以访问与点击节点关联的所有数据:
view:
<li data-bind="text: name, click: yourFunction"></li>
viewmodel:
var yourFunction = function (data) {
//your function will have access to the node via data
};
对于键盘输入,您可以向视图添加输入并将值绑定到可观察值。从那里,您可能可以在线找到子字符串搜索算法,甚至是插件(jquery.table-filter 做得很好)
【讨论】: