Мне удалось добиться, чтобы автозаполнение jQuery работало в CoffeeScript просто отлично, но когда я попытался сделать это со сложением акцента, что-то сломалось.Это пример, предоставленный в документах jQuery с обычным javascript
$(function() {
var names = [ "Jörn Zaefferer", "Scott González", "John Resig" ];
var accentMap = {
"á": "a",
"ö": "o"
};
var normalize = function( term ) {
var ret = "";
for ( var i = 0; i < term.length; i++ ) {
ret += accentMap[ term.charAt(i) ] || term.charAt(i);
}
return ret;
};
$( "#developer" ).autocomplete({
source: function( request, response ) {
var matcher = new RegExp( $.ui.autocomplete.escapeRegex( request.term ), "i" );
response( $.grep( names, function( value ) {
value = value.label || value.value || value;
return matcher.test( value ) || matcher.test( normalize( value ) );
}) );
}
});
});
И это версия CoffeeScript, которую я сделал
jQuery ->
names = [
"Jörn Zaefferer",
"Scott González",
"John Resig" ]
accentMap = {
"á": "a",
"ö": "o"
}
normalize = (term) ->
ret = ""
for i in [0..term.length]
ret += accentMap[term.charAt i] || term.charAt i
return ret
$("#search_word").autocomplete {
source: (request, response) ->
matcher = new RegExp $.ui.autocomplete.escapeRegex (request.term), "i"
response $.grep names, (value) ->
value = value.label || value.value || value
(matcher.test value) || (matcher.test normalize value)
}