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

Deb*_*tra 4 html javascript jquery html-lists

这是我的意思:

<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>
Run Code Online (Sandbox Code Playgroud)

我想从这里的项目中获得一个自动完成的文本字段.

有人可以帮忙吗?

Ohg*_*why 5

你想要做的是在每个跨度(根据你的标记)迭代,每次抓取的文本,并推到一个数组key:valuelabelvalue.

var sources = [];
$('span').each(function(i,ele){
    sources.push({'label': $(ele).text(), 'value' : $(ele).text()});
});
Run Code Online (Sandbox Code Playgroud)

然后,当你完成构建它(在$ .each()之后)时,我们将简单地使用新数组作为输入源.

$('input').autocomplete({
    source: sources
});
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到一个快速而肮脏的工作示例