The fundamental thing you need to do is _simplify_, divide and conquer. Is it the XML stuff that isn't working, or is it the radio button stuff that isn't working? Walk through with a debugger, etc.
The `$$` of this is not the problem barring some strange thing, you'll need to look elsewhere. -- T.J. On Sep 25, 4:16 pm, Phil Petree <[email protected]> wrote: > Morning TJ! > > I know it SHOULD work... I'm just saying it didnt. > > works: > // set radio button for type > selectThis = {selectID: 'type', selectValue: > transport.responseXML.getElementsByTagName('type')[0].firstChild.nodeValue}; > > $$(radioTemplate.evaluate(selectThis))[0].writeAttribute("checked", > "checked"); > didn't work: > var selectThis > = transport.responseXML.getElementsByTagName('type')[0].firstChild.nodeValue; > $$("input[type=radio][name='type'][value='" + selectThis + > "']").writeAttribute("checked", "checked"); > > ALSO: > > This works: > selectThis = {matchString: > transport.responseXML.getElementsByTagName('state')[0].firstChild.nodeValue}; > > $$('select#ajstate option').each(function(o){ > if(o.value == selectTemplate.evaluate(selectThis)){o.selected = > true;$break;} > }); > > But moving it into a function doesn't: > setSelect('ajState', > transport.responseXML.getElementsByTagName('state')[0].firstChild.nodeValue ); > function setSelect(strID, strValue) > { > var selectIDTemplate = new Template('#{matchID}'); > var selectTemplate = new Template('#{matchString}'); > var selectThis; > var selectID; > > selectID = {matchID: strID}; > selectThis = {matchString: strValue }; > $$('select#selectIDTemplate.evaluate(selectID) option').each(function(o){ > if(o.value == selectTemplate.evaluate(selectThis)){o.selected = > true;$break;} > });} > > I think I am either daft or extremely tired! LOL > On Sat, Sep 25, 2010 at 10:34 AM, T.J. Crowder > <[email protected]>wrote: > > > > > Hi, > > > > David, although your suggestion doesn't throw any errors, it doesnt work > > > either... kinda wierd as I thought it would... > > > It does work, barring there being something wrong somewhere else: > >http://jsbin.com/elota3 > > > The problem with your original code was as as Jonathan said, you were > > passing the string "input[type=radio][name='type'][value=selectThis]" > > into $$ as the selector. David's suggestion fixes that by using the > > *value* of selectThis rather the actual text "selectThis". As the live > > example above shows, that works. > > > FWIW, > > -- > > T.J. Crowder > > Independent Software Engineer > > tj / crowder software / com > > www / crowder software / com > > > On Sep 25, 2:21 pm, Phil Petree <[email protected]> wrote: > > > David, although your suggestion doesn't throw any errors, it doesnt work > > > either... kinda wierd as I thought it would... and it would have been > > MUCH > > > simpler to implement too! > > > > On Sat, Sep 25, 2010 at 8:57 AM, David Behler <[email protected]> > > wrote: > > > > What about this: > > > > > $$("input[type=radio][name='type'][value='" + selectThis + "']") > > > > > ? > > > > > Am 25.09.2010 14:41, schrieb Phil Petree: > > > > > Jonathan, > > > > > Thanks for that but like most things in the prototype documentation, it > > > > lacks the type of clarity that I can understand. > > > > > IOW, I can read the documentation, scratch my head and say huh? I leave > > > > that documentation thinking "this might be what I need but have no clue > > as > > > > to how to implement that to solve my problem." > > > > > Which is exactly what happened here... OK, I need to use templates to > > > > somehow sprintf the string constant into a direct value but huh? > > > > > On Sat, Sep 25, 2010 at 7:59 AM, Jonathan Rosenberg < > > [email protected]>wrote: > > > > >> You're passing a string constant to $$ > > > > >> "input[type=radio][name='type'][value=selectThis]") > > > > >> 'selectThis' will not be evaluated, as you seem to be expecting. Have > > a > > > >> loook at Tenplate to do what you want: > > > > >> http://www.prototypejs.org/api/template > > > > >> -- > > > >> Jonathan Rosenberg > > > >> Founder & Executive Director > > > >> Tabby's Place > > > >>http://www.tabbysplace.org > > > > >> -----Original Message----- > > > >> *From:* [email protected] [mailto: > > > >> [email protected]] *On Behalf Of *Phil Petree > > > >> *Sent:* Saturday, September 25, 2010 7:46 AM > > > >> *To:* [email protected] > > > >> *Subject:* [Proto-Scripty] Variables in $$() ????? > > > > >> I've hit this in two seperate places and not exactly sure why... > > > >> (I think its the 18 hour days, 7 days a week... <g>) > > > > >> If "value" is hard set with '3' the following works: > > > $$("input[type=radio][name='type'][value='3']")[0].writeAttribute("checked" > > , > > > >> "checked"); > > > >> However, if we use a variable (selectThis) and assign it "3" it does > > not > > > >> work. > > > >> var selectThis; > > > >> selectThis = '3'; > > > $$("input[type=radio][name='type'][value=selectThis]")[0].writeAttribute("c > > hecked", > > > >> "checked"); > > > > >> Type casting doesn't work either: > > > >> var selectThis; > > > >> selectThis = String('3'); > > > $$("input[type=radio][name='type'][value=selectThis]")[0].writeAttribute("c > > hecked", > > > >> "checked"); > > > > >> I'm having the same problem here too (compare o.value== 'GA' and the > > > >> select gets set to GA): > > > >> selectThis = 'GA' > > > >> $$('select#ajstate option').each(function(o){ > > > >> if(o.value==selectThis){o.selected = true;$break;} > > > >> }); > > > > >> What am I missing here? > > > >> -- > > > >> 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 > > > >> [email protected]. > > > >> To unsubscribe from this group, send email to > > > >> [email protected]<prototype-scriptaculou > > > >> s%[email protected]><prototype-scriptaculou > > s%[email protected] <s%[email protected]>> > > > >> . > > > >> For more options, visit this group at > > > >>http://groups.google.com/group/prototype-scriptaculous?hl=en. > > > > >> -- > > > >> 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 > > > >> [email protected]. > > > >> To unsubscribe from this group, send email to > > > >> [email protected]<prototype-scriptaculou > > > >> s%[email protected]><prototype-scriptaculou > > s%[email protected] <s%[email protected]>> > > > >> . > > > >> For more options, visit this group at > > > >>http://groups.google.com/group/prototype-scriptaculous?hl=en. > > > > > -- > > > > 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 > > > > [email protected]. > > > > To unsubscribe from this group, send email to > > > > [email protected]<prototype-scriptaculou > > > > s%[email protected]> > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/prototype-scriptaculous?hl=en. > > > > > -- > > > > 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 > > > > [email protected]. > > > > To unsubscribe from this group, send email to > > > > [email protected]<prototype-scriptaculou > > > > s%[email protected]><prototype-scriptaculou > > s%[email protected] <s%[email protected]>> > > > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/prototype-scriptaculous?hl=en. > > > -- > > 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 > > [email protected]. > > To unsubscribe from this group, send email to > > [email protected]<prototype-scriptaculou > > s%[email protected]> > > . > > For more options, visit this group at > >http://groups.google.com/group/prototype-scriptaculous?hl=en. -- 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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/prototype-scriptaculous?hl=en.
