Visualizzazione dei risultati da 1 a 6 su 6

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590

    [jquery] plugin per tag

    salve, in rete si trovano decine di plugin per rendere text field in tags

    https://github.com/zellerda/Tokenize
    sliptree.github.io/bootstrap-tokenfield/
    https://github.com/bootstrap-tagsinput

    ma sono quasi tutti progetti morti: qualcuno per caso usa abitualmente un plugin simile?
    A me serve che supporti queste funzioni:
    - ajax data source
    - show dropdown onfocus
    - object as tag (devo poter aggiungere degli oggetti e impostare quale campo mostrare come testo del tag)

  2. #2
    select2 ha il tagging support, l'ajax data source e varie altre funzionalità.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    volli a dare un occhio, anche se sinceramente quando non utilizzano typeahead.js sono un po' sospettoso sull'elasticità del codice, comunque thanks

    per caso dalla documentazione riesci a capire a volo come indicare la fonte json come un oggetto e non come array piano? mi spiego:
    i miei risultati non sono del tipo
    codice:
    [{value:'2',text:'pippo'},{value:'3',text:'pippa'}]
    ma sono chiusi in un oggetto

    codice:
    {
    docs:[{value:'2',text:'pippo'},{value:'3',text:'pippa'}]
    }

  4. #4
    Quote Originariamente inviata da jimbo0 Visualizza il messaggio
    volli a dare un occhio, anche se sinceramente quando non utilizzano typeahead.js sono un po' sospettoso sull'elasticità del codice, comunque thanks

    per caso dalla documentazione riesci a capire a volo come indicare la fonte json come un oggetto e non come array piano? mi spiego:
    i miei risultati non sono del tipo
    codice:
    [{value:'2',text:'pippo'},{value:'3',text:'pippa'}]
    ma sono chiusi in un oggetto

    codice:
    {
    docs:[{value:'2',text:'pippo'},{value:'3',text:'pippa'}]
    }
    Prego.

    Se il plug-in ha bisogno di un array, passa "tuo_oggetto.docs"...

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    Quote Originariamente inviata da lucavizzi Visualizza il messaggio
    Prego.

    Se il plug-in ha bisogno di un array, passa "tuo_oggetto.docs"...
    si chiedevo dove definire il obj.docs, comunque cercando faticosamente in giro (la versione 4 non è ancora documentata bene) ho risolto.
    Ora ho un problema più specifico, ma se utilizzi questo plugin abitualmente forse sai aiutarmi.

    Il testo "no results.." stranamente mi appare solo quando la query è nulla (ho impostato minimumInputLength: 0 e la mia resource serverside restituisce docs[] vuoto se la query è nulla), ma non nell'altro caso in cui dovrebbe uscire, ossia quando inserisco una stringa random che sicuramente non è nel db. Questo il codice:
    codice:
    <select class="col-md-12"id="chambers" placeholder="chambers" name="chambers" multiple></select>
    codice:
        $("#chambers").select2({        placeholder:"deciding body",
           ajax: {
                url: "/api/chambers",
                dataType: 'json',
                delay: 250,
               data: function (params) {
                   return {
                       q: params.term
                   }
               },
               processResults: function (data, params) {
                   console.log(data.docs);
                   var ret = $.map(data.docs, function (obj) {
                       obj.id = obj._id;
                       obj.text = obj.name;
    
    
                       return obj;
                   });
                   return {results: ret}
               }
            },
            tags:true,
            createTag: function (params) {
                return false
            },
            templateResult: function (data) {
                var $result = $("<span></span>");
                $result.text(data.text);
                return $result;
            },
            escapeMarkup: function (markup) {
                return markup;
            },
            language: {
                noResults: function() {console.log(); return "No results <a href='http://google.com'>Add new value</a>"; }
            },
            minimumInputLength: 0,
            templateSelection: formatResultSelection
        });
        function formatResultSelection (repo) {
            return repo.text;
        }
    se vuoi provare, questo è il json in caso di 3 risultati

    codice:
    {"docs":[{"_id":"56b7b5e31694a08c13baee9c","name":"John","__v":0},{"_id":"56b7b5e31694a08c13baee9f","name":"James","__v":0},{"_id":"56b7b5e31694a08c13baeea8","name":"Jimmy","__v":0}],"total":3,"limit":9999,"offset":0}
    questo con 0 risultati
    codice:
    {"docs":[],"total":0,"limit":9999,"offset":0}

    mi aspetterei insomma all'inserimento di "pippo" il messaggio "no results...", invece il dropdown è vuoto.
    Ultima modifica di jimbo0; 09-02-2016 a 15:41

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2011
    Messaggi
    590
    ok, alla fine sono riuscito a far quadrare select2 con la miriade di requisiti diversi che avevo riguardo il tagging e varie feature.

    Quindi se a qualcuno interessa, select2 è decisamente promosso.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.