1

jQuery UI を使用してオートコンプリート検索バーを作成しています。

ページ上の要素の ID 名に基づいて使用可能なタグのリストを作成するために、以下を変更しようとしています。

var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC",
        ];

たとえば、ページには次のような要素があります

<div class="items" id="Get milk">Don't forget to get milk on way home from work</div>

リストにこれらの要素 ID が入力され、特定の ID がオートコンプリートされたら、他のすべての要素をdisplay: none;

4

1 に答える 1

0

$("...").mapソース配列のようなオブジェクト (この場合、セレクターに一致する DOM ノードで満たされた jQuery オブジェクト.items) を使用して、jQueryUI オートコンプリートが機能する配列に変換する必要があります。このようなものが動作するはずです:

var source = $(".items").map(function () {
    return $(this).data("id");
}).get();

$("#auto").autocomplete({
    source: source        
});

属性を使用していると仮定するとdata-id、マークアップは次のようになります。

<div class="items" data-id="Get Milk">Get Milk on the way home</div>
<div class="items" data-id="Drop by Phil's">Drop by Phils house</div>
<div class="items" data-id="Grab a Sandwich">Grab a sandwich</div>

例: http://jsfiddle.net/J5rVP/25/

于 2012-12-17T17:02:07.460 に答える