4
Mornin所有,jQuery自動完成和焦點事件
我有麻煩玩jQuery UI自動完成小部件事件。 我想添加一個自定義類到所選項目的父<li>
。 生成的標記看起來像:
<li class="result">
<a><span></span></a>
</li>
當一個項目是重點,jQuery的類.ui-state-hover
添加到<a>
我怎樣才能一類.selected
添加到父<li>
? 我試圖從focus
事件中完成,但我不知道如何訪問父母<li>
。 我期待jQuery UI的來源,並找到.ui-state-hover
應用的位置和方式,但無濟於事。
這是我的自動完成代碼。
/**
* Override the default behavior of autocomplete.data('autocomplete')._renderItem.
*
* @param ul _object_ The conventional ul container of the autocomplete list.
* @param item _object_ The conventional object used to represent autocomplete data.
* {value:'',label:'',desc:'',icon:''}
*/
var renderItemOverride = function (ul, item) {
return $('<li class="result"></li>')
.data("item.autocomplete", item)
.append('<a><span class="name">' + item.label + '</span><span class="type"></span></a>')
.appendTo(ul);
};
$('#live_search').autocomplete({
source: function(request, response) {
$.ajax({
url: "search.json",
dataType: "json",
cache: false,
data: {
term: request.term
},
success: function(data) {
response($.map(data.contacts, function(item) {
return {
label: item.name || (iterm.firstname + item.lastname),
value: item.name || (iterm.firstname + item.lastname),
id: item._id
}
}));
}
});
},
appendTo: '.live_search_result_list',
autoFocus: true,
minLength: 2,
focus: function(event, ui) {
},
select: function(event, ui) {
console.log("do a redirection");
}
}).data('autocomplete')._renderItem = renderItemOverride;
})
任何忍者可以幫助?
感謝花花公子! ;) – 2011-06-05 15:27:32
@Jason:沒問題! – 2011-06-05 16:07:38