Автозаполнение jQuery с акцентом на CoffeeScript - PullRequest
0 голосов
/ 19 января 2012

Мне удалось добиться, чтобы автозаполнение 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)
    }

1 Ответ

0 голосов
/ 20 января 2012

Я часто использую http://js2coffee.org/ в таком случае

...