спасибо, сделал по аналогии, как было
что-то еще нужно поменять - так не работает
по идее нужно внести в массив данные по одному, и каждый элемент начинающийся с новой строки как новый элемент массива
у меня есть рабочий код, который берет данные прямо из текстового файла:
$(document).ready(function()
{
$("#file").autocomplete("autocomplete.dat", {
autoFill:false,
cacheLength:2,
delay:1,
matchCase:false,
matchContains:false,
matchSubset:false,
minChars:2,
mustMatch:false,
scroll:false,
maxItemsToShow:30
});
но в новом коде такое вариант не канает, я не знаю где поменять (менял по аналогии и не работает)
<script language="javascript">
var jqxhr = $.get( "1.txt", function())
.done(function(data) {
})
jqxhr.sort();
function monkeyPatchAutocomplete() {
var oldFn = $.ui.autocomplete.prototype._renderItem;
$.ui.autocomplete.prototype._renderItem = function( ul, item) {
var re = new RegExp("^" + this.term, "i") ;
var t = item.label.replace(re,"<span style='font-weight:bold;color:red;'>" + this.term + "</span>");
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + t + "</a>" )
.appendTo( ul );
};
}
$(document).ready(function() {
monkeyPatchAutocomplete();
$("#input1").autocomplete({
source: function(req, responseFn) {
addMessage("Поск: '" + req.term);
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp( "^" + re, "i" );
var a = $.grep(jqxhr, function(item,index){
//addMessage(" sniffing: '" + item + "'<br/>");
return matcher.test(item);
});
addMessage("Количество: " + a.length + " элемента(ов)");
responseFn( a );
},
select: function(value, data){
if (typeof data == "undefined") {
addMessage('Количество: ' + value);
}else {
addMessage('Вы выбрали: ' + data.item.value);
}
}
});
});
function addMessage(msg){
$('#msgs').empty();
$('#msgs').append(msg);
}
</script>