Signál z checkBoxu?
- 22
- Člen | 1478
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?
- toka
- Člen | 253
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)
- redhead
- Člen | 1313
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)
- toka
- Člen | 253
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" /> 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.
- 22
- Člen | 1478
//<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í…
- toka
- Člen | 253
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.