2010-08-01 6 views
5

Ich habe rails3-jquery-autocomplete-Plugin verwenden und ich frage mich nur, wie kann ich es verwenden, um mehrere Wörter Autocomplete.wie man rails3-jquery-autocomplete plugin für mehrere Wörter autocomplete verwenden

z.B. INPUT rails, gem sollte es automatische Liste zweimal erzeugen.

Wie dieses Problem zu lösen? ..

+0

Können Sie Code schreiben, den Sie bereits ausprobiert haben? und was stimmt dann nicht mit der Ausgabe? –

+0

Müssen Sie das Rails-Plugin verwenden? Ich nehme an, es wäre einfacher, einfach jQuery-ui-Plugin zu Ihren Javascripts hinzuzufügen und es in Javascripts einzurichten. – skalee

Antwort

6

rails3-Jquery-Autocomplete-Plugin? Es scheint, dass es keine automatische Vervollständigung unterstützt, Sie müssen den Plugin-Code ändern !! Wenn Sie auf Ihren früheren Ideen bestehen, folgen Sie meinen Schritten.

  1. laufen bundle show rails3-jquery-autocomplete das Plugin arbeitet directroy
  2. Partner zu bekommen /lib/autocomplete.rb
  3. die define_method wie folgt ändern:

    define_method("autocomplete_#{object}_#{method}") do 
        arr = params[:term].split(",") 
        unless params[:term] && params[:term].empty? 
        items = object.to_s.camelize.constantize.where(["LOWER(#{method}) LIKE ?", "#{arr[arr.size-1]}%"]).limit(limit).order(order) 
        else 
        items = {} 
    end 
    
    render :json => json_for_autocomplete(items, method) 
    

    Ende

  4. ändern autocomplete-rails.js wie dies function split(val) { return val.split(/,\s*/); } function extractLast(term) { return split(term).pop(); } $(document).ready(function(){ $('input[autocomplete]').each(function(i){ $(this).autocomplete({ source: $(this).attr('autocomplete'), focus: function() { return false; }, select: function(event, ui) { var terms = split(this.value); // remove the current input terms.pop(); // add the selected item terms.push(ui.item.value); // add placeholder to get the comma-and-space at the end terms.push(""); this.value = terms.join(","); return false; } }); }); });

  5. den Server neu starten und

versuchen !! Denken Sie daran, dass Sie autocomplete.rb besser sichern sollten, um ein Überschreiben nach dem Ausführen der Bundle-Installation zu vermeiden.

Viel Glück!

14

rails3-jquery-autocomplete unterstützt nun ein Trennzeichen Angabe der Daten-Trennzeichen-Option, so dass Sie nicht mehr hacken müssen:

f.autocomplete_field: umbauten, autocomplete_tag_business_path, "Daten-Trennzeichen" => ''

Ich entdeckte es, während ich versuchte, den Hack oben anzuwenden und entdeckte, dass es nicht notwendig ist. Funktioniert super für mich!

Verwandte Themen