[Seaside] Update select display when selection changed

Bob N. bobn at rogers.com
Tue Feb 1 12:38:13 UTC 2011


Yes, it is indeed a browser issue.  I should have tested a bit more... the
problem only comes up in Firefox (I'm using 3.6.13).
Chrome, IE and Opera work fine.

I've posted this on stackoverflow (first time); I'm curious to see how that
works.  Might not be a bad place for Seaside questions, given how many tech
specialities the questions can apply to.  And no harm in getting a bit more
exposure to Seaside & Smalltalk.

On Mon, Jan 31, 2011 at 8:24 AM, Avi Shefi <avishefi at gmail.com> wrote:

> 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
>>
>>
>
> _______________________________________________
> 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/20110201/b84c3156/attachment.htm


More information about the seaside mailing list