- Home
- Categorie
- Coding e Sistemistica
- Javascript & Framework
- [jQuery] ui portlet position
-
[jQuery] ui portlet position
Ciao a tutti!
Ho un problema con jquery ui portlet.
Diciamo che funziona tutto e riesco a salvare su db mysql la posizione delle div, ma non so come caricare la loro posizione al caricamento della pagina, e quindi ad ogni refresh le portlet tornano nella loro posizione naturale ossia quella del codice html.
Suggerimenti?intanto posto un po di codice
$("#contenitore-centrale .column").sortable({ connectWith: [ '#contenitore-centrale .column' ], handle: '.portlet-header', opacity: 0.6, items: '> .portlet', tolerance: 'pointer', revert: true, distance: 2, helper: 'clone', update: function() { }, stop: function(event, ui) { var postVars = { action: 'portlet-order', } $("#contenitore-centrale .column").each(function(){ var $posizione = $(this).sortable('serialize'); var $column_id = $(this).attr('id'); postVars["order[" + this.id.split('-')[0] + "]"] = $(this).sortable( 'toArray' ).join(','); }); $.post("code/posizione.php", postVars , function(theResponse){ $("#results").html(theResponse); }); } }); $(".portlet").addClass("ui-widget ui-widget-content ui-helper-clearfix ui-corner-all") .find(".portlet-header") .addClass("ui-widget-header ui-corner-all") .prepend('<span class="ui-icon ui-icon-plusthick"></span>') .end() .find(".portlet-content"); $(".portlet-header .ui-icon").click(function() { $(this).toggleClass("ui-icon-minusthick"); $(this).parents(".portlet:first").find(".portlet-content").toggle(); }); $(".column").enableSelection(); ```Ciao e grazie!
-
Uhm, non ho capito bene cosa devi fare ma non ti basta fare i dovuti spostamenti nel metodo $(document).ready() ?
-
Allora io ho creato delle div che sono spostabili,
secondo l'ordine naturale di default ciò che visualizzo è
div1 posizione1 colonna1
div2 posizione2 colonna1
div3 posizione1 colonna2
div4 posizione2 colonna2L'utente può spostare come meglio crede le div e il mio intento è quello di memorizzare su un database la posizione delle div in modo che al prossimo accesso, o refresh, le div si dispongano secondo l'ordine salvato nel database.
Per scrivere nel db sono ok, tramite post, come ho scritto nel messaggio precedente, quello che non riesco e non so come fare è leggere dal db e ordinare le div secondo l'ordine salvato.
Spero di essere stato piu chiaro.
Grazie ancora.
Ciao!
-
Ah ok, allora dovrebbe bastare scrivere il codice al volo con php ordinando i div nella posizione desiderata dopo averli caricati dal database.
-
Si come ragionamento non fa una piega!!!
quello che salvo nel db è passato tramite "serialize" quindi ho una cosa del genereArray ( [ordine_portlet] => a{s:8:"column_1";s:39:"portlet_1,portlet_4,portlet_2,portlet_3";s:8:"column_2";s:0:"";} )
il problema è ricavare l'ordine dagli array delle posizioni e poi popolare dinamicamente il contenuto delle div che non è archiviato nel db, quindi a logica dovrebbe esserci di mezzo un "append"...
Ci ho provato in diversi modi ma niente...spero che qualcuno con piu esperienza possa aiutarmi a venirne fuori.
Ringrazio