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

时间:2013-01-07 18:09:16

标签: javascript jquery html 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>

我想从这里的项目中获得一个自动填充文本字段。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:5)

您要做的是迭代每个范围(基于您的标记),抓取每个范围的文本,并将key:valuelabelvalue推入数组

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

然后当你完成它的构建时,(在$ .each()之后),我们只需使用新数组作为输入源。

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

You can see a quick and dirty working example here