#1 24. 2. 2010 11:01

22
Nette guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 215

Signál z checkBoxu?

Je možné v Nette navěsit signál i na inputy, konkrétně checkBox. Pokud ano, jak by to mělo asi vypadat?

Offline

 

#2 24. 2. 2010 12:27

bazo
Člen
Registrovaný: 28. 9. 2009
Příspěvky: 166

Re: Signál z checkBoxu?

jedine javascriptom

Offline

 

#3 24. 2. 2010 12:34

22
Nette guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 215

Re: Signál z checkBoxu?

hm, hm, jde zavolat metodu třídy přes jQuery?

Editoval 22 (24. 2. 2010 12:38)

Offline

 

#4 24. 2. 2010 12:49

toka
Člen
Místo: Kostelec nad Orlicí
Registrovaný: 5. 8. 2009
Příspěvky: 173

Re: Signál z checkBoxu?

Pokud myslíš handle z presenteru, tak AJAXem.


$this->terminate();

http://twitter.com/TomasKavalek

Offline

 

#5 24. 2. 2010 12:58

22
Nette guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 215

Re: Signál z checkBoxu?

jj, handle myslim..v praxi mám tabulku s nějakym seznamem, kde je sloupec s checkboxem. Po zatržení, potřebuju upravit akorat záznam v DB. Jednoduché, když je tam <a href="{… …ale jak mám poslat přes $.ajax(), kterej handle se má použít? Nebyl by nějaký kratký příklad, jakým směrem se mám vydat?

Offline

 

#6 24. 2. 2010 13:11

toka
Člen
Místo: Kostelec nad Orlicí
Registrovaný: 5. 8. 2009
Příspěvky: 173

Re: Signál z checkBoxu?

Ale jen takový náznak :-)

...
$form->addCheckbox('zobrazit', 'zobrazit')
     ->getControlPrototype()->onchange('doSmth(this.value);');
...
function doSmth(value) {
  $.get("?do=nazevHandle&presenter=Modul%3APresenter", {"value": value}, function(data) {
  ...
  }, "html");
}

EDIT: Takže si přes to value jsi schopen v handle udělat přesně to co potřebuješ se záznamem v DB, který má ID, které si „schováš“ do value toho checkboxu.

Editoval toka (24. 2. 2010 13:12)


$this->terminate();

http://twitter.com/TomasKavalek

Offline

 

#7 24. 2. 2010 13:17

redhead
Nette guru
Registrovaný: 2. 5. 2009
Příspěvky: 630

Re: Signál z checkBoxu?

Nevím co všechno to má umět, ale v nástinu:

<input type="checkbox" class="edit" />

<script>
$('checkbox.edit').change(function() {
        if($(this).is(':checked')) {
                $.get({link signal!}, ...);             //makro link se prevede na odkaz na signal
        }
})
</script>

snad tam není chyba, nezkoušel jsem.

Editoval redhead (24. 2. 2010 13:19)

Offline

 

#8 24. 2. 2010 13:29

22
Nette guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 215

Re: Signál z checkBoxu?

díky pánové, to je ono, Něvěděl jsem, že když pošlu AJAXem

$.get({link change!})

tak to proběhne úspěšně..tak to je dobrý :-)

Editoval 22 (24. 2. 2010 15:05)

Offline

 

#9 24. 2. 2010 15:56

22
Nette guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 215

Re: Signál z checkBoxu?

jQuery

$('.akce_box').click(function(){
        $.get({link akce!});
        //alert('Neklikej na mě nebo uvidíš!');
        });

testovací php

...
public function handleAkce(){
$this->redirect('Admin:');
}
...     }

tak nějak to nechodí :-( FF hlasí missing: after property id

Offline

 

#10 24. 2. 2010 16:48

toka
Člen
Místo: Kostelec nad Orlicí
Registrovaný: 5. 8. 2009
Příspěvky: 173

Re: Signál z checkBoxu?

Pokud to zkusím stejně jako ty, resp. podobně – nevím jak přesně to máš, tak to proběhne v pohodě, ani FireBug nehlásí chybu, ale: redirect je sice super, ale k čemu, když se ti to přesměruje v tom AJAXovém dotazu, tím pádem se vlastně na webu nic nestane, ani se nepřesměruje.


$this->terminate();

http://twitter.com/TomasKavalek

Offline

 

#11 24. 2. 2010 16:54

22
Nette guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 215

Re: Signál z checkBoxu?

ten tam mam jen kvuli testu, ze se to opravdu na ten handle dostalo..

Offline

 

#12 24. 2. 2010 17:04

toka
Člen
Místo: Kostelec nad Orlicí
Registrovaný: 5. 8. 2009
Příspěvky: 173

Re: Signál z checkBoxu?

22 napsal(a):

ten tam mam jen kvuli testu, ze se to opravdu na ten handle dostalo..

Když mám v šabloně:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="cs">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="{$baseUri}js/jquery-1.4.1.min.js"></script>
    <script type="text/javascript">
    /* <![CDATA[ */
    jQuery(document).ready(function() {
      $('.akce_box').click(function(){
        $.get({link akce!});
      });
    });
    /* ]]> */
    </script>
    <title>DEMO</title>
  </head>
<body>
  <input type="checkbox" class="akce_box" />&nbsp;click me!
</body>
</html>

A v presenteru:

...
// ---------------------------------------------------------------------------
  public function handleAkce() {
    $this->redirect(':Default:edit');
  }
...

Tak FF v pohodě. Chybová konzole nic, a ve Firebugu:

Odezva:
{"redirect":"http:\/\/localhost\/www\/demo\/document_root\/index.php?action=edit"}

Vše v pohodě. FF 3.6 + Firebug 1.5.0.


$this->terminate();

http://twitter.com/TomasKavalek

Offline

 

#13 24. 2. 2010 17:06

22
Nette guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 215

Re: Signál z checkBoxu?

hmm, že by byl problem, že ten jQuery script taham ze souboru?

Offline

 

#14 24. 2. 2010 17:14

22
Nette guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 215

Re: Signál z checkBoxu?

//<script type="text/javascript" src="{$basePath}/js/admin.js"></script>
<script type="text/javascript">
    jQuery(document).ready(function() {
      $('.akce_box').click(function(){
        $.get({link akce!});
      });
    });
</script>

pokud to natáhnu ze souboru, tak to skonči chybou, pokud dám přímo do šablony, tak to chodí…

Offline

 

#15 24. 2. 2010 17:19

toka
Člen
Místo: Kostelec nad Orlicí
Registrovaný: 5. 8. 2009
Příspěvky: 173

Re: Signál z checkBoxu?

22 napsal(a):

//<script type="text/javascript" src="{$basePath}/js/admin.js"></script>
<script type="text/javascript">
    jQuery(document).ready(function() {
      $('.akce_box').click(function(){
        $.get({link akce!});
      });
    });
</script>

pokud to natáhnu ze souboru, tak to skonči chybou, pokud dám přímo do šablony, tak to chodí…

Ano, tím to je, protože do toho souboru se nedostane Nette a Latte, ten se vloží až u klienta.


$this->terminate();

http://twitter.com/TomasKavalek

Offline

 

#16 24. 2. 2010 17:44

22
Nette guru
Místo: Brno
Registrovaný: 18. 1. 2010
Příspěvky: 215

Re: Signál z checkBoxu?

jj, diky moc! ještě předání proměnné eventuelně. Musí tam být mezery, jinak to nacucne zase Latte filter.

id=$(this).val();
...
$.get({link akce"},{ id:id })
...

Editoval 22 (24. 2. 2010 17:45)

Offline

 

Zápatí