プラグイン Chosen for Multiple Selectを使用してドロップダウン メニューを作成しようとしています。私が基づいている動作は次のとおりです。
したがって、私の選択で 3 つのハードコードされた < option > を使用する代わりに。このリストを、ajax リクエストによって設定された json 配列の値にしたいと考えています。これは、オートコンプリートによってトリガーされます。
したがって、ユーザーが「car」と入力すると、ajax 呼び出しを介して文字を送信し、次のような配列を取得します。
[{"id":"2489","名前":"キャリー"},{"id":"2490","名前":"キャロライン"},{"id":"2491","名前": "キャロル"}]
コード:
$(function() {
$(".chzn-select").chosen();
$(".chzn-select-deselect").chosen({allow_single_deselect:true});
$('.chzn-choices input').autocomplete({
source: function( request, response ) {
$.ajax({
url: "/change/name/autocomplete/"+request.term+"/",
dataType: "json",
success: function( data ) {
response( $.map( data, function( item ) {
$('ul.chzn-results').append('<li class="active-result">' + item.name + '</li>');
}
});
}
});
結果:
「車」と入力すると、ドロップダウンに「車の結果がありません」と表示され、必要に応じてすべての結果が表示されます。
1.「結果がありません」というメッセージが表示される理由は、json 配列とリスト内に結果が表示されていることがわかるからです。
-----------------------------
「car」を削除して「sam」と入力すると。「sam」の結果は、「car」の結果の後に表示されます。(基本的に、現在の検索結果だけではなく、両方の結果が表示されます)
2. keyUp で ul をクリアすると思いますか?? プラグインはすでにそれを行っていると思った
-----------------------------
名前をクリックして実際に選択し、選択に追加すると、 selected.js ファイル内で javascript エラーが発生します
item は未定義
の "item.selected = true;" 732行目
プラグインへのリンク: http://harvesthq.github.com/chosen/chosen/chosen.jquery.js
選択内に何も追加していません。
3.なぜこれが起こっているのか分かりません
-----------------------------
私が何か間違ったことをしていることについて何か考えがありますか?私は完全にここで立ち往生しています... !
ところで、プラグインのソースを変更してもかまいません。それは私が使用している唯一の場所だからです....