我正在启动单页应用,但仍然没有选择任何框架。它需要做的唯一复杂事情是允许用户从树结构中为表单的一个字段选择一个元素。如果它适用于鼠标选择和键盘自动完成,那将是很好的。树有5层深,包含大约500个元素。什么是实现这个的好方法?
答案 0 :(得分:0)
这是一个小提示,向您展示如何递归构建树:http://jsfiddle.net/KtbXb/。
就输入而言,将click函数绑定到每个节点将调用一个函数来访问与clicked节点相关的所有数据:
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做得很好)