IPB

Witaj Gościu ( Zaloguj | Rejestruj )

2 Stron V   1 2 >  
Reply to this topicStart new topic
Własny system widgetów jax, php, jak w wordpress 2.8
jarmiar
post 11.07.2009 - 13:39
Post #1


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



Cze,

Na jakiej zasadzie można wykonać podobnie jak ma Wordpress do zarządzania panelami (widgetami), że jak się przeciągnie na daną pozycję to tam się potem zapisuje automatycznie pozycja.
Wiem, że to mozna wykonac w ajaxie, tylko nie wiem jak to ugryźć
Mam taki skrypt
http://www.dhtmlgoodies.com/scripts/drag-d...rag-drop-2.html
no i nie wiem jak tu mozna zrobic aby zapisywało pozycje.
Samą obsługę ajaxa znam, wiem jak wysłąć dane do skryptu, tylko nie wiem jaki to jest uchwyt dla pozycji.
Proszę mi to jakos wyjaśnić smile.gif
Go to the top of the page
 
+Quote Post
Reklama
post 11.07.2009 - 13:39
Post #


Reklama









Go to the top of the page
 
Quote Post
Jan Koprowski
post 13.07.2009 - 17:36
Post #2


Entuzjasta
****

Grupa: Moderators
Postów: 543
Dołączył: 20.03.2009
Skąd: Włocławek
Użytkownik nr: 427



Zajrzyj do jQuery UI sortable
Wejdź w "Events". i tam masz funkcje. Start, sort, stop. Jak to działa ?
Podajesz w konfiguracji nazwy funkcji jakie mają wywołać się gdy sortowanie się zacznie, skończy, coś się zmieni ... one się wywołują :] i trafiają do Ciebie jakieś sane w parametrach, które Ty możesz zapisać w cookie, albo w bazie danych a do cookie przesłać jakiś ID użytkownika.
Go to the top of the page
 
+Quote Post
jarmiar
post 13.07.2009 - 20:26
Post #3


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



no ale w tym mozna tylko sortowac tzn góra dół

a ja chce miec 3 kontenery w do ktorych moge przesuwac elementy w razy z zapisaną pozycją i nazwą contenera
Go to the top of the page
 
+Quote Post
Jan Koprowski
post 13.07.2009 - 20:53
Post #4


Entuzjasta
****

Grupa: Moderators
Postów: 543
Dołączył: 20.03.2009
Skąd: Włocławek
Użytkownik nr: 427



CYTAT(jarmiar @ pon, 13 lip 2009 - 21:26) *
no ale w tym mozna tylko sortowac tzn góra dół

a ja chce miec 3 kontenery w do ktorych moge przesuwac elementy w razy z zapisaną pozycją i nazwą contenera


Możesz sortować jak chcesz. Doczytaj dokumentację. To są tylko przykłady.
Go to the top of the page
 
+Quote Post
jarmiar
post 14.07.2009 - 16:33
Post #5


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



znalazłem coś takiego

http://jqueryui.com/demos/sortable/#portlets

chcę wykonać funkcje alert dla zdarzenia update

oto mój kod:

KOD
<script type="text/javascript">
    $(function() {
        $(".column").sortable({
            connectWith: '.column'
            update: function(event, ui) { alert('kupa'); }
        });

        $(".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").disableSelection();
    });
    </script>


i po tym nie działa. w ogóle nie chcą się przenosić

możesz mi napisać jak to poprawie zrobic?
Go to the top of the page
 
+Quote Post
Jan Koprowski
post 15.07.2009 - 07:49
Post #6


Entuzjasta
****

Grupa: Moderators
Postów: 543
Dołączył: 20.03.2009
Skąd: Włocławek
Użytkownik nr: 427



CYTAT(jarmiar @ wto, 14 lip 2009 - 17:33) *
znalazłem coś takiego

http://jqueryui.com/demos/sortable/#portlets

chcę wykonać funkcje alert dla zdarzenia update

oto mój kod:

KOD
<script type="text/javascript">
    $(function() {
        $(".column").sortable({
            connectWith: '.column'
            update: function(event, ui) { alert('kupa'); }
        });

        $(".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").disableSelection();
    });
    </script>


i po tym nie działa. w ogóle nie chcą się przenosić

możesz mi napisać jak to poprawie zrobic?


1. Podaj jakie błędy wywala firebug
2. Zobacz strukturę witryny http://www.gamma.zhr.pl/ - tam jest działający prototyp tego co potrzebujesz.
Go to the top of the page
 
+Quote Post
jarmiar
post 15.07.2009 - 17:57
Post #7


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



już sobie poradziłem

w JSON'ie zabrakło przecinka


ale mam jeszcze jedno pytanie

chciałbym, miec jakis wskaźnik w jakiejś zmiennej z nazwą kontenera, do ktorego przeciągnełą się element oraz zzmieną z pozycją np 1, 2, 3, 4, 5
jak to zrobic?
Go to the top of the page
 
+Quote Post
Jan Koprowski
post 15.07.2009 - 19:11
Post #8


Entuzjasta
****

Grupa: Moderators
Postów: 543
Dołączył: 20.03.2009
Skąd: Włocławek
Użytkownik nr: 427



CYTAT(jarmiar @ śro, 15 lip 2009 - 18:57) *
już sobie poradziłem

w JSON'ie zabrakło przecinka
ale mam jeszcze jedno pytanie

chciałbym, miec jakis wskaźnik w jakiejś zmiennej z nazwą kontenera, do ktorego przeciągnełą się element oraz zzmieną z pozycją np 1, 2, 3, 4, 5
jak to zrobic?


Masz
KOD
update: function(event, ui) { alert('kupa'); }


A czy "ui" to nie jest jakiś uchwyt do User Interface (elementu) ? Zobacz co to - wrzuć w alerta, wyświetl sobie metody i może to Ci coś pomoże.
Go to the top of the page
 
+Quote Post
jarmiar
post 15.07.2009 - 20:19
Post #9


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



tak próbowałem, ale wyświetla, że to obiekt. nie zwtaca mi zadnej pozycji :/
Go to the top of the page
 
+Quote Post
Jan Koprowski
post 15.07.2009 - 20:54
Post #10


Entuzjasta
****

Grupa: Moderators
Postów: 543
Dołączył: 20.03.2009
Skąd: Włocławek
Użytkownik nr: 427



CYTAT(jarmiar @ śro, 15 lip 2009 - 21:19) *
tak próbowałem, ale wyświetla, że to obiekt. nie zwtaca mi zadnej pozycji :/


Wiadomo smile.gif Popróbuj wstawić po kolei:
KOD
alert(ui.html())
alert($(ui).html())


Może, któreś zwróci kod HTML obiektu (jak mamy szczęście) i dowiesz się co to jest.
Go to the top of the page
 
+Quote Post
jarmiar
post 15.07.2009 - 21:38
Post #11


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



teraz alert w ogóle się nie wyświetla tongue.gif
o co może w tym chodzić? kurde na innym forum podali mi żeby użyć metody parent() oraz index()
jednak w dokumentacji ui jquery nic nie znalazłem na temat wykorzystania

może ty coś wiesz?
Go to the top of the page
 
+Quote Post
Marcin Czołnowsk...
post 15.07.2009 - 21:43
Post #12


Początkujący
*

Grupa: Użytkownik
Postów: 31
Dołączył: 06.05.2009
Użytkownik nr: 495



Ogólnie taki d&d to bardzo prosta sprawa. Ogólnie sprowadza się to do tego, aby ustawić event naciśnięcia i przytrzymania przycisku myszy na danym obiekcie i następnie odświeżasz sobie, wraz ze zmianą pozycji myszki zmieniasz pozycję tego obiektu. I tyle. wink.gif

Oczywiście sortable w jQuery to bardzo dobry wybór. Otrzymujemy gotowe narzędzie, które upraszcza pracę. Aczkolwiek bez znajomości mechanizmów działania czasami możemy mieć problem z zastosowaniem, dlatego uważam, że dobrze jest sobie przyswoić taką podstawową teorie działania. smile.gif
Go to the top of the page
 
+Quote Post
jarmiar
post 15.07.2009 - 22:09
Post #13


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



no dobra, ale cały czas nie dostałem odpowiedzi na moje pytanie.

gdzie znajdę jakiś uchwyt pozycji, lub jak to wykonać?
raczkuuje w tych sprawach, znam podstawy js oraz JSON
Go to the top of the page
 
+Quote Post
Jan Koprowski
post 16.07.2009 - 06:19
Post #14


Entuzjasta
****

Grupa: Moderators
Postów: 543
Dołączył: 20.03.2009
Skąd: Włocławek
Użytkownik nr: 427



CYTAT(jarmiar @ śro, 15 lip 2009 - 22:38) *
teraz alert w ogóle się nie wyświetla tongue.gif
o co może w tym chodzić? kurde na innym forum podali mi żeby użyć metody parent() oraz index()
jednak w dokumentacji ui jquery nic nie znalazłem na temat wykorzystania

może ty coś wiesz?


Bo metody posiada i jQuery jako nadbudówka i samo JavaScript też posiada metody. Te index() i parent() to właśnie metody czystej JS. Po prostu zalertuj ui.parent() ui.index()
Ale ja nie qmam czemu nie podajesz błędów jaki JS wywala tylko tak w ciemno "nie działa". Weź Firefox zainstaluj FireBug.
Go to the top of the page
 
+Quote Post
jarmiar
post 16.07.2009 - 08:58
Post #15


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



zrobiłem to tak

KOD
    <script type="text/javascript">
    $(function() {
        $(".column, .column2, .column_").sortable({
            connectWith: '.column, .column2, .column_',
            stop: function(event, ui)
                         {
                             var index = $("div").index(this);
                            
                             alert(index);
                        
                         }
            
        });

        $(".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").disableSelection();
    });
    </script>


a tu link jak działa
http://katmia.home.pl/public_html/sortowan...e/portlets.html

rzekomo ma wyświetlać pozycję, jednak to troche źle działa.

sam zobacz
Go to the top of the page
 
+Quote Post
Jan Koprowski
post 16.07.2009 - 19:18
Post #16


Entuzjasta
****

Grupa: Moderators
Postów: 543
Dołączył: 20.03.2009
Skąd: Włocławek
Użytkownik nr: 427



U mnie to

KOD
  var firstColumnBar = String($('div#firstColumn').sortable('toArray'));
  var secondColumnBar = String($('div#secondColumn').sortable('toArray'));
  var thirdColumnBar = String($('div#thirdColumn').sortable('toArray'));


po prostu generuje mi string z kolejnością boksów, które mogą odtworzyć. Ale nie wie czy to składnia jQuery czy Prototype (inna biblioteka, której równolegle używam). Chyba to drugie. Czy takie rozwiązanie Ci odpowiada ?
Go to the top of the page
 
+Quote Post
jarmiar
post 20.07.2009 - 13:00
Post #17


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



raczej nie, muszę wykorzystać to co mam.

kurde coś trzeba pokombinować z tym index() tylko jak?

@edit
macie propozycje?
Go to the top of the page
 
+Quote Post
Jan Koprowski
post 05.08.2009 - 07:14
Post #18


Entuzjasta
****

Grupa: Moderators
Postów: 543
Dołączył: 20.03.2009
Skąd: Włocławek
Użytkownik nr: 427



CYTAT(jarmiar @ pon, 20 lip 2009 - 14:00) *
raczej nie, muszę wykorzystać to co mam.

kurde coś trzeba pokombinować z tym index() tylko jak?

@edit
macie propozycje?



Mam propozycje. Weź się w garść i stań na wysokości zadania. Masz wyzwanie - sprostaj mu samodzielnie.
Go to the top of the page
 
+Quote Post
jarmiar
post 10.08.2009 - 10:56
Post #19


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



kiedy ja juz siedze na tym blisko 3 tyg i dalej nic
Go to the top of the page
 
+Quote Post
jarmiar
post 22.08.2009 - 12:35
Post #20


Bywalec
***

Grupa: Bywalec
Postów: 110
Dołączył: 14.04.2009
Skąd: Świerzawa
Użytkownik nr: 444



znalazłem teraz coś takiego

http://nettuts.s3.amazonaws.com/127_iNETTUTS/demo/index.html

i chcę zrobic, aby po przeniesieniu zwracało mi jego pozycje

próbowałem w zdarzeniu stop: zrobic z index() ale nie wychodzi mi nadal

czy ktos mi pomoze?
Go to the top of the page
 
+Quote Post

2 Stron V   1 2 >
Reply to this topicStart new topic
2 użytkownik(ów) przegląda ten temat (2 gości i 0 anonimowych użytkowników)
0 Użytkownicy:

 



Wersja Lo-Fi Aktualny czas: 24.05.2012 - 07:37