0

HTML に以下のような複数のタグがあります。

<li data-code="ABC"
<li data-code="XYZ"
<li data-code="PQR"

剣道オートコンプリート ボックスに 3 つの値を追加する必要があります。

<input id='myKendobox'/>

以下のコードを使用してリストを取得しました。

var items = $("li").map(function () { return $(this).attr("data-code"); }).get();

2 つの質問があります: 4 番目の空のアイテムが「アイテム」リストに入らないようにするにはどうすればよいですか? 剣道オートコンプリート ボックスにアイテムを入力するにはどうすればよいですか?

4

1 に答える 1

1

あなたのliアイテムは閉じられていませんね。

オートコンプリートを設定するには、次のようにします。

入力 HTML (オートコンプリート) が与えられた場合:

<input id='myKendobox'/>

および初期化は次のとおりです。

var data = [];
var autocomplete = $("#myKendobox").kendoAutoComplete({
    dataSource: data
}).data("kendoAutoComplete");

要素を追加する場合は、次のようにします。

var items = $("li").map(function () { return $(this).attr("data-code"); }).get();
autocomplete.dataSource.data(items);

jQuery セレクターによって検出される要素を制限したい場合は、次の<li>ように定義できます。

<ul id="AutocompleteOptions">
    <li data-code="ABC"></li>
    <li data-code="XYZ"></li>
    <li data-code="PQR"></li>
</ul>

次に、セレクターを次のように変更します。

var items = $("li", "#AutocompleteOptions").map(function () { return $(this).attr("data-code"); }).get();

<li>これにより、見つかった が の下のものだけに制限され#AutocompleteOptionsます。

JSFiddleでの実行例

于 2013-04-19T08:16:05.027 に答える