jQuery オートコンプリート スクリプトを使用して、json 形式でデータを返すデータベースに文字列値を渡しています。firebug を見ると、オートコンプリートでクリックできるアイテムは、箇条書きを削除して見栄えを良くするためのスタイルを備えたリスト アイテムです。
私の問題は、選択したリスト項目をキャプチャするクリック イベントを発生させたいことです。
$("#group_name").autocomplete('@Url.Action("LookUpGroupName", "UserManager")',
{
dataType: 'json',
parse: function (data) {
var rows = new Array();
for (var i = 0; i < data.length; i++) {
rows[i] = {
data: data[i],
value: data[i].group,
result: data[i].group
}
}
return rows;
},
formatItem: function (row, i, max) { // loop returns autocomplete items
return row.group;
},
width: 300,
multiple: false
}); // End of autocomplete
$(document).ready(function () {
chkSelection();
$(".ac_results li").click(function (event) {
alert($(this).text());
});
});
これは、オートコンプリート JavaScript から生成された html です。
<div style="display: block; position: absolute; width: 300px; top: 437.9px; left: 103.65px;" class="ac_results">
<ul style="max-height: 180px; overflow: auto;">
<li class="ac_even">118 Medi<strong>a</strong> ltd</li>
<li class="ac_odd">2CV Rese<strong>a</strong>rch ltd</li>
<li class="ac_even">7digit<strong>a</strong>l</li <li class="ac_odd">
<strong>A</strong> br<strong>a</strong>nd<strong>a</strong>p<strong>a</strong>rt television ltd</li>
<li class="ac_even"><strong>A</strong> Tout Fr<strong>a</strong>nce</li>
<li class="ac_odd"><strong>A</strong>bb<strong>a</strong> Blinds</li>
<li class="ac_even"><strong>A</strong>berdeen Journ<strong>a</strong>ls</li>
<li class="ac_odd"><strong>a</strong>cc suspended <strong>A</strong>LF connect <strong>A</strong>lw<strong>a</strong>ys on Mess<strong>a</strong>ge</li>
<li class="ac_even ac_over"><strong>A</strong>ccount suspended South West Medi<strong>a</strong> Group</li>
<li class="ac_odd"><strong>A</strong>ctive Intern<strong>a</strong>tion<strong>a</strong>l</li>
</ul>
</div>
リスト項目がクリックされたときにイベントを発生させたいコードから明らかかどうかはわかりません。