Looking over it, I already see that I forgot to update lines that
read: "w_id = "w_" + col0[x];" in each column loop. But that's not
where I'm getting the javascript error.
Tim
On May 8, 7:49 am, Timebomb <[EMAIL PROTECTED]> wrote:
> Thanks for the reply Martin! col0 is an array of integers that
> retrieved from a browser cookie. The page I am working on is similar
> to the iGoogle page where you have movable widgets arranged in 3
> columns. Widgets can be moved up and down in their column and even
> between columns. I'm primarily using the Scriptaculous Sortables class
> to make columns sortable with each other. Column order is saved and
> restored via the Sequence and setSequence function calls and cookies.
> That part was straight forward. However, I need a method to move the
> widgets to the correct column div before calling setSequence. Right
> now the code is repetitive, but it's just a first draft. :) Here is
> the full function:
>
> Columns are divs with id's of "col-0", "col-1", and "col-2"
> Widget are divs with id's like "w_2" and "w_20" and are contained in
> columns
> There is one cookie per column that contains a list of integers
> separated by commas, the integers correspond to the order the widgets
> should appear in the column.
>
> function orderWidgetsByColumn() {
> //these are string containing integers separated by commas
> //example: 2,18,3,19,3
> var widgetListStr0 = getCookie('col-0');
> var widgetListStr1 = getCookie('col-1');
> var widgetListStr2 = getCookie('col-2');
>
> //if all cookies are set, move all widgets to the correct column
> if( widgetListStr0.length > 0 &&
> widgetListStr1.length > 0 &&
> widgetListStr2.length > 0 ) {
>
> //convert the comma delimited strings to arrays
> var col0 = widgetListStr0.split(',');
> var col1 = widgetListStr1.split(',');
> var col2 = widgetListStr2.split(',');
>
> var x;
> var w_id = "";
>
> //step through the first column
> for( x in col0 ) {
> w_id = 'w_' + col0[x];
>
> //if the current item is not in col0, move it
> there
> if( ! ($(w_id).descendantOf('col-0')) ) {
>
> $('col-0').insert(document.getElementById(w_id));
> }
>
> }
>
> //step through the second column
> for( x in col1 ) {
> w_id = "w_" + col0[x];
>
> //if the current item is not in col0, move it
> there
> if( ! ($(w_id).descendantOf('col-1')) ) {
>
> $('col-1').insert(document.getElementById(w_id));
> }
> }
>
> //step through the third column
> for( x in col2 ) {
> w_id = "w_" + col0[x];
>
> //if the current item is not in col2, move it
> there
> if( ! ($(w_id).descendantOf('col-2')) ) {
>
> $('col-2').insert(document.getElementById(w_id));
> }
> }
>
> }
>
> return;
>
> }
>
> On May 8, 5:20 am, "Martin Ström" <[EMAIL PROTECTED]> wrote:
>
> > What is the contents of your "col0" variable?
> > If it's an array you should not use the "for (x in ...)" loop but a
> > traditional for (x = 0; x < y; x++) loop or Prototype's Array#each
>
> > If you post how you get the col0's contents setup I'm sure we can help you.
>
> > 2008/5/8 Timebomb <[EMAIL PROTECTED]>:
>
> > > I am trying to write some code using javascript and the prototype
> > > library that makes sure certain divs are contained in a column div, if
> > > they are not they get moved there. I'm getting the error "$(w_id) has
> > > no properties" when I run it. Is it possible to programmatically build
> > > a string containing a div id then use it like I need to? I'm new to
> > > prototype. Thanks in advance.
>
> > > Here is my code snippet:
>
> > > var x;
> > > var w_id = "";
>
> > > //step through the first column
> > > for( x in col0 ) {
> > > w_id = 'w_' + col0[x];
>
> > > //if the current item is not in col0, move it there
> > > if( ! ($(w_id).descendantOf('col-0')) ) {
> > > $('col-0').insert(document.getElementById(w_id));
> > > }
>
> > > }
>
> > --
> > burnfield.com/martin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Spinoffs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---