It's like this:
I have a form. It is generated by some PHP. It contains two items. One
is a SELECT MULTIPLE list of sites. The list of elements (sites) is held
in a PHP array. (imagine Cork, Galway, Dublin, Kerry, etc).
The other item is a SELECT (not multiple) drop down box with a list of
regions. (Imagine Connaught, Leinster, Munster, etc). I don't mind how
they're stored.
Each region is related to one or more sites. I'd like the user to be
able to choose a region from the drop down box, and have it
automatically select the relevant elements from the SELECT MULTIPLE.
(Imagine selecting "Munster" highlights Cork and Kerry).
This is easy to do in isolation; dump the region->site mapping in a
Javascript array, have an onClick (or whatever) on the SELECT which
calls a function; the function highlights the necessary elements in the
SELECT MULTIPLE. However.
In order for PHP to parse the results of the SELECT MULTIPLE after it's
submitted, the variable name needs to end with []. That's great; PHP
will take each selected element and plant them as consecutive elements
in an array. But that makes for quite messy code when trying to link the
regions SELECT action with the sites SELECT MULTIPLE. Javascript can't
refer to the SELECT MULTIPLE by name because of the brackets, so I have
to refer to it by its location in the form.
So I can get it working, but if I change it, it all goes to hell very
quickly. And I'd like to be able to add arbitrary sites and regions
without rewriting the code. That is, I'd like an array or database that
says "Leinster means Dublin,Kildare; Connaught means Galway; Muster
means Cork,Kerry" and gets that info into the code without getting
bogged down in making me calculate array indices. Does anyone have some
code that will do this?
If the description is clear as mud, let me know and I'll plant up a page
with the working model - it might ring a few bells.
Dave
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!