Autor Zpráva
Kenik01
Profil
Zdravím,

snažím se rozchodit autocomplete multiple :
<script>
    $(function() {
        var availableTags = [
            "ActionScript",
            "AppleScript",
            "Asp",
            "BASIC"
        ];
        
        
        
function split( val ) {
            return val.split( /,\s*/ );
        }
        function extractLast( term ) {
            return split( term ).pop();
        }

        $( "#tags" )
            // don't navigate away from the field on tab when selecting an item
            .bind( "keydown", function( event ) {
                if ( event.keyCode === $.ui.keyCode.TAB &&
                        $( this ).data( "autocomplete" ).menu.active ) {
                    event.preventDefault();
                }
            })
            .autocomplete({
                minLength: 0,
                source: function( request, response ) {
                    // delegate back to autocomplete, but extract the last term
                    response( $.ui.autocomplete.filter(
                        availableTags, extractLast( request.term ) ) );
                },
                focus: function() {
                    // prevent value inserted on focus
                    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;
                }
            });
    });

    </script>

Neumím JS. Myslel jsem že načtu seznam slov z externího souboru podobně jako v klasickém ( asi starším autocomplete )

$("#keyword").autocomplete("search.php", {
        width: 260,
        selectFirst: false
    });

Ale nevím jak to správně zapsat. Toto nefunguje:
var availableTags = autocomplete("../search.php", {
        width: 260,
        selectFirst: false
    }) ;

Nápovědu nechápu :
$( ".selector" ).autocomplete({ source: ["c++", "java", "php", "coldfusion", "javascript", "asp", "ruby"] });

Je to nějaká prkotina ale za hodinu jsem na to nepřišel.
Alphard
Profil
Dle manuálu
Autocomplete can be customized to work with various data sources, by just specifying the source option. A data source can be:
an Array with local data
a String, specifying a URL
a Callback

lze použít odkaz na externí stránku.

Ta adresa http://admin.astro.ke/admin/search.php resp. http://admin.astro.ke/admin/search.php?term=php nikam nevede kvůli utajení webu, nebo je to příčina problému?
Kenik01
Profil
Alphard:
Manuál jsem nepochopil, můžete mi napsat příklad?

Co bude očekávat v obsahu souboru?

Ta adresa nikam nevede správně . ( Mám pro local domeny s .ke ltd )
Alphard
Profil
Kenik01:
Já přesně nevím, zabývám se spíš PHP, jen mi padla do oka ta neexistující adresa.
Dle manuálu se očekává

An Array of Strings:
[ "Choice1", "Choice2" ]
nebo
An Array of Objects with label and value properties:
[ { label: "Choice1", value: "value1" }, ... ]
Kenik01
Profil
Vyřešeno, jsem slepej :(
Na stránce http://jqueryui.com/demos/autocomplete/#multiple-remote je demo se zdrojem ze souboru.
Už jsem to rozběhal.

PS: volá to script:
http://jqueryui.com/demos/autocomplete/search.php?term=ab
kde ab je vyhledávaný dotaz

Díky za pomoc.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0