페이지를 자동으로 가져 와서 표시하는 자동 완성 기능이 있습니다. 제대로 작동하지 않을 때 선택 이벤트입니다 ...jQuery UI -> 자동 완성 -> ON 선택 -> ui 항목이 정의되지 않았습니다.
나는 하나 개의 속성 인으로 개체를 얻을 top.console.log (UI)를 할 경우$("#fld_search1").catcomplete({
delay: 50,
minLength: 2,
open: function(e, ui){
if(searching) return;
//console.log($(this).data('catcomplete'));
var acData = $(this).data('catcomplete');
var styledTerm = '<strong>%s</strong>'.replace('%s', acData.term);
acData.menu
.element
.find('li a')
.each(function() {
var me = $(this);
me.html(me.text().replace(acData.term, styledTerm));
});
//return match.replace(new RegExp("("+keywords+")", "gi"),'<i>$1</i>');
},
select: function(event, ui) {
var I = ui.item;
top.console.log(ui);
$("#fld_search1").catcomplete("close");
$('#fld_search1').val(I.name);
window.location = '/podjetje/'+I.value+'.html';
//$('#frm_company_id').val(I.value);
return false;
},
source: function(request, response) {
search_term = request.term;
if (search_term in cache) {
response(cache[ tesearch_termrm ]);
return;
}
var suggest_url = "/companies/find_company.json";
$.ajax({
url: suggest_url,
dataType: "json",
type : "POST",
data: {
owner: request.term
},
success: function(data) {
response($.map(data, function(item) {
var alabel = item.label.replace(
new RegExp('(' +
$.ui.autocomplete.escapeRegex(request.term) +
')'),
"<b>$1</b>");
return {
value: item.value,
label: item.label,
name: item.name,
category: item.category
}
}));
}
});
}
});
이 그래서 UI 객체 ...
을하지 않습니다> 항목은 ... 그 정의되지 않습니다. .. 그래서 내가 값을 기록한다면 내가 정의되지 않는다. 어떻게 가능 할까?
이 내가 그것을 변경하고 메뉴가 항상 마우스 오버에 종료 1.9.2을 사용하는 경우 나 자동 초점을 사용하는 경우 ..., 그것은 심지어는 열리지 않습니다 1.9.1
입니다!
+1, 대답은 내 시간을 절약합니다. 방금 JQuery UI를 1.8.12에서 1.10.3으로 업그레이드했고 select 함수가'ui.item'에서'undefined '가되었습니다. 'that._renderItem (ul, item)'을'that._renderItemData (ul, item)'로 바꾸면 다시 작동합니다. –
와우 감사합니다. 오늘 저를 구해 주셨습니다. :) – 360Airwalk