【问题标题】:Drag and drop from jsTree to input form field从 jsTree 拖放到输入表单域
【发布时间】:2011-02-06 10:52:12
【问题描述】:
我有一个文件系统、文件夹和文件的 jsTree,我想从树中拖出一个文件节点并将其放到 input 字段中,将完整路径名插入到表单字段中。
目前,当我尝试将树中的任何节点拖到表单字段中时,我会返回网页的 URL,以及一个井号,例如https://example.com/#。如果我更改了节点数据的链接href,哈希会更改为新的href,但我仍然得到协议和主机(https://example.com/newHref)。
假设我描述的修改是可能的,我将如何配置 jsTree 和表单来完成这个?
感谢您的建议。
【问题讨论】:
标签:
jquery
html
forms
filesystems
jstree
【解决方案1】:
如果使用 JSON 数据源,在将 href 属性添加到 data 列表的 attr 列表时,使用 file:// 协议似乎很有帮助,例如:
{
"data" : {
"icon" : "/js/_demo/folder.png",
"title" : "workspace",
"attr" : {
"href" : "file:///home/areynolds/workspace"
}
},
"attr" : {
"rel" : "folder",
"id" : "/home/areynolds/workspace"
},
"state" : "closed"
}
然后可以将节点的链接拖放到 HTML input 字段中。
既可以按原样使用file:// href,也可以使用一点 JavaScript 或 jQuery 来清理路径。
如果使用 HTML 数据源,在锚点的 href 中使用 file:// 可以实现相同的结果。