Javascript 来自UL LI的JQuery自动完成(作为源)

Javascript 来自UL LI的JQuery自动完成(作为源),javascript,jquery,html,html-lists,Javascript,Jquery,Html,Html Lists,这是我的ulli: <ul id="red" class="treeview-red"> <li><span>Item 1</span> <ul> <li><span>Item 1.0</span> <ul> <li>&

这是我的ulli:

<ul id="red" class="treeview-red">
        <li><span>Item 1</span>
            <ul>
                <li><span>Item 1.0</span>
                    <ul>
                        <li><span>Item 1.0.0</span></li>
                    </ul></li>
                <li><span>Item 1.1</span></li>
                <li><span>Item 1.2</span>
                    <ul>
                        <li><span>Item 1.2.0</span>
                            <ul>
                                <li><span>Item 1.2.0.0</span></li>
                                <li><span>Item 1.2.0.1</span></li>
                                <li><span>Item 1.2.0.2</span></li>
                            </ul></li>
...............
.................. 
</ul>
  • 项目1
    • 项目1.0
      • 项目1.0.0
    • 项目1.1
    • 项目1.2
      • 项目1.2.0
        • 项目1.2.0.0
        • 项目1.2.0.1
        • 项目1.2.0.2
      • ............... ..................
我想从这里显示的项目中获得一个自动完成文本字段


有人能帮忙吗?

您要做的是迭代每个跨度(基于您的标记),获取每个跨度的文本,并将
键:值
成对的
标签
推入一个数组

var sources = [];
$('span').each(function(i,ele){
    sources.push({'label': $(ele).text(), 'value' : $(ele).text()});
});
然后,当您完成构建后,(在$.each()之后),我们只需使用新数组作为输入的源

$('input').autocomplete({
    source: sources
});

您是否尝试编写解决方案?如果是这样,请发布您的代码。我收到以下错误:“uncaughttypeerror:Object”没有“autocomplete”方法。是的,我以前试过这种方法。但是这一切都是徒劳的。@Debopam您收到的错误表明在尝试调用函数时没有加载jQuery ui库。请检查文件包含的顺序,以及所述文件的位置。你可以看到我的小提琴演奏得很好。