[Seaside] checkbox callbacks
Alexander Lazarević
laza at blobworks.com
Mon Sep 26 10:35:44 UTC 2011
#serializeThisWithHidden works nicly to update the internal state, but
I can't wrap my mind around on how to update the checkboxes.
Now the following obviously won't work but hopefully reveals my intentions:
renderContentOn: html
html form: [
html checkbox
onChange: (html jQuery ajax serializeThisWithHidden);
value: self isChecked;
callback: [:value | self check: value. self check2: value].
html text: 'Check me'.
html checkbox
onChange: (html jQuery ajax serializeThisWithHidden);
value: self isChecked2;
callback: [:value | self check2: value. self check: value not].
html text: 'Check me 2'.
]
So what's the best strategy to update the checkboxes reflecting the
internal state?
Alex
2011/9/26 Alexander Lazarević <laza at blobworks.com>:
> Robert and Lukas,
>
> I guess I still have some misconceptions when it comes to JS
> callbacks, but thanks for helping me along. I had the idea that the
> entire form gets serialized, but only the callbacks of changed
> elements would trigger a onChange: event and then trigger the
> callback.
>
> Alex
>
> 2011/9/24 Lukas Renggli <renggli at gmail.com>:
>> Yes, you serialize the form which means it involves both checkboxes. On your
>> scenario both callbacks should be triggered: the checked one with true, the
>> unchecked with false.
>>
>> Btw, you do not need the IDs. For the AJAX just use (html jQuery ajax
>> serializeForm). You don't want to load anything into the checkbox.
>>
>> Lukas
>>
>> On Saturday, 24 September 2011, Alexander Lazarević <laza at blobworks.com>
>> wrote:
>>> Hi!
>>>
>>> I'm using something like the following in my code:
>>>
>>> renderContentOn: html
>>> | id |
>>> html form: [
>>> id := html nextId.
>>> html checkbox
>>> id: id;
>>> onChange: (html jQuery id: id) load serializeForm;
>>> value: self isChecked;
>>> callback: [:value | value inspect].
>>> html text: 'Check me'.
>>> id := html nextId.
>>> html checkbox
>>> id: id;
>>> onChange: (html jQuery id: id) load serializeForm;
>>> value: self isChecked2;
>>> callback: [:value | value inspect].
>>> html text: 'Check me 2'.
>>> ]
>>>
>>> I'm surprised to see that both callbacks get triggered even if I only
>>> check one checkbox. Is this on purpose and expected? According to
>>> Metacello I'm using Seaside 3.0.6
>>>
>>> Alex
>>> _______________________________________________
>>> seaside mailing list
>>> seaside at lists.squeakfoundation.org
>>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>>
>>
>> --
>> Lukas Renggli
>> www.lukas-renggli.ch
>>
>> _______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
>>
>
More information about the seaside
mailing list