[Seaside] Update select display when selection changed

Avi Shefi avishefi at gmail.com
Mon Jan 31 13:24:49 UTC 2011


Bob,
Looks like it's a browser issue, since the actual HTML is updated. This is
sometimes caused by browsers that do not update the display regardless of
the actual markup (they assume it's the same). Internet Explorer may do this
from time to time.

You should create a Javascript code that updates the select element.


Regards,
Avi.

On Mon, Jan 31, 2011 at 3:07 PM, Bob N. <bobn at rogers.com> wrote:

> Hello,
> How do I get the rendered display of a drop-down select list to show an
> updated selection from another session?
>
> Here is the scenario: I have a domain object with an attribute displayed in
> a drop-down list.  Some other session updates the attribute.  I refresh my
> display, but the rendered selection does not change.  Using Firebug, the
> generated html shows the updated selection.  This may be basic HTML
> knowledge, but should the displayed value not update to show the changed
> 'selected' option?  Or is the value intended to be set only on the initial
> page display and then only by a user action?
>
> Here is an example.  I have a demo Seaside component with a class variable
> #testStateListSelection which is selected to 'one' in a Seaside session.  If
> I change the value to 'three'  in another Seaside session, the displayed
> value stays as 'one' in the original session after rendering again, even
> though the "selected" in the generated HTML shows "three".
>
> renderSelectionListOn: html
> html form: [
> html select
>  list: #('one' 'two' 'three' 'four' 'five');
> selected: self class testStateListSelection;
>  callback: [:value | self class testStateListSelection: value].
> html break.
>  html submitButton
> callback: [Transcript cr; show: self class testStateListSelection];
>  with: 'Save']
>
> ...the displayed value shows 'one', even though the HTML is...
>
> <select name="1">
>   <option value="1">one</option>
>   <option value="2">two</option>
>   <option value="3" selected="selected">three</option>
>   <option value="4">four</option>
>   <option value="5">five</option>
> </select><br>
>
> How do I get the drop-down selected value to show 'three'?
>
> BTW: all I know about HTML & browser behaviour I've learned from coding
> Seaside, so I may have a skewed perspective ;-)
>
> Thanks for any help,
> Bob Nemec
>
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20110131/89e76b95/attachment.htm


More information about the seaside mailing list