hi, have you tried to use the Element class methods readAttribute/ writeAttribute instead that ordinary getAttribute/setAttribute? i recently experienced some issues using getAttribute to retrieve setted parameters.
Federico On Sep 18, 7:33 pm, "speedpac...@gmail.com" <speedpac...@gmail.com> wrote: > Hi Marko, > > Great idea on combining the different attributes into one value > attribute with the pipe character. I'll consider it for a later > version, because this obviously also requires changes on the > serverside as we'll end up with other values being sent to the > server... > > The class tihngy I knew and was on my todo list to change to that... > > Unfortunately it doesn't fix my issue at this time (unless I'm > misinterpreting what you are saying...) > Have you gotten a chance to look into that biyt of code not giving me > the result I believed I should have received (and did before I > upgraded...) > > Thanks again for the feedback - I really do appreciate it! > > David. > > On Sep 18, 7:01 pm, Marko <gm.ma...@gmail.com> wrote: > > > Hi, > > > Instead of adding attributes on element you can rewrite it like this: > > > <option value="N100005" domain="hjkhhjh.ch" prepaid_total="18.50 EUR" > > postpaid_total="23.15 EUR">Registreer voor 1 Jaar</option> > > > => > > > <option value="code|domain|pre_total|post_total">Registreer voor 1 > > Jaar</option> > > > => > > > <option value="N100005|hjkhhjh.ch|18.50 EUR|23.15 EUR">Registreer voor 1 > > Jaar</option> > > > You can get value like this: > > > selectedItem = orderOptions.select('[value="' + > > orderOptions.getValue() + '"]'); > > > => > > As this is equal to orderOptions you can do: > > > selectedItem = $F(this) > > > Then you can split it and get array: > > > selectedItem.split("|") > > > You can also rewrite your selects like this: > > > Instead of: <td f="prepaid"> > > write just: <td class="prepaid"> > > > tdPrepaid = rec[0].select('[f="prepaid"]'); > > => > > tdPrepaid = rec[0].select('.prepaid'); > > > This way you will preserve valid HTML > > > I think you get idea how to rewrite it. > > > - Marko > > > speedpac...@gmail.com wrote: > > > Hello, > > > > I'm trying my secod post here - I never got my first to end up on the > > > list, so l'ts try it through the google groups website directly now... > > > > I'm having an issue that I hope someone here can help me with... > > > > I have the following code: > > > > HTML: > > > ---------- > > > <select id="orderOption[hjkhhjh.ch]" domain="hjkhhjh.ch" > > > name="orderOption[hjkhhjh.ch]"> > > > <option value="N100005" domain="hjkhhjh.ch" prepaid_total="18.50 EUR" > > > postpaid_total="23.15 EUR">Registreer voor 1 Jaar</option> > > > <option value="N100006" domain="hjkhhjh.ch" prepaid_total="36.30 EUR" > > > postpaid_total="45.40 EUR">Registreer voor 2 Jaar</option> > > > <option value="N100009" domain="hjkhhjh.ch" prepaid_total="53.40 EUR" > > > postpaid_total="66.60 EUR">Registreer voor 3 Jaar</option> > > > <option value="N100007" domain="hjkhhjh.ch" prepaid_total="87.00 EUR" > > > postpaid_total="109.00 EUR">Registreer voor 5 Jaar</option> > > > <option value="N100008" domain="hjkhhjh.ch" prepaid_total="170.50 EUR" > > > postpaid_total="213.50 EUR">Registreer voor 10 Jaar</option> > > > </select> > > > > What I'm trying to do is when a user selects an option from the list, > > > the prepaid_total and postpaid_total price should show on a different > > > div... > > > > this is the javascript that worked up until a few weeks ago when I > > > upgraded to the new release of prototype: > > > JAVASCRIPT: > > > -------------------- > > > > orderOptions.observe('change', function(event) { > > > alert('clicked for ' + orderOptions.getAttribute > > > ('domain')); > > > rec = $('domainSearchResult').select('[domain="' + > > > orderOptions.getAttribute('domain') + '"]'); > > > tdPrepaid = rec[0].select('[f="prepaid"]'); > > > tdPostpaid = rec[0].select('[f="postpaid"]'); > > > > alert(orderOptions.getValue()); > > > selectedItem = orderOptions.select('[value="' + > > > orderOptions.getValue() + '"]'); > > > alert(selectedItem); > > > tdPrepaid[0].update(selectedItem[0].getAttribute > > > ('prepaid_total')); > > > tdPostpaid[0].update(selectedItem[0].getAttribute > > > ('postpaid_total')); > > > }); > > > > The two first alerts give me what I expect, the third one just returns > > > NOTHING... I used to be able to select the options with the value > > > like that, but it seems to be no longer working... > > > > Any idea? > > > > Also - I know adding attributes to the elements like that is not the > > > way to go - I just don't know how I can do this otherwise :( --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Prototype & script.aculo.us" group. To post to this group, send email to prototype-scriptaculous@googlegroups.com To unsubscribe from this group, send email to prototype-scriptaculous+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en -~----------~----~----~----~------~----~------~--~---