[JS] Select box aanpassen in Mozilla

Pagina: 1
Acties:

  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 07-04 10:56
Ik probeer een AJAX iets te bouwen waarin mensen een bepaalde koppeling kunnen maken. Ze kunnen eerst een type kiezen. Daarna een titel intypen en als men daarna op zoeken drukt verschijnen de resultaten in een select box eronder.

Dit is allemaal geen probleem cross browser. Het enige probleem is dat men bij een bepaald type meerdere dingen moet selecteren. Dit kan ik in IE oplossen door met javascript de outerHTML aan te passen. Maar dit werkt niet in mozilla. Ik kan natuurlijk wel de select standaard multiple maken en dan serverside afvangen. Maar dat is natuurlijk niet zo netjes.

Een oplossing was om een div te creeren en hem daarna met javascript te vullen met een select box. Dit werkt allemaal goed alleen op 1 of andere manier pakt mozilla een select box welke in een div staat niet mee met het posten van een formulier. Dus dat valt ook af.

Ik zoek dus eigelijk een manier om in mozilla de eigenschappen van een select box aan te passen via javascript (multiple weghalen of erbij doen). Of een manier om mozilla een select box in een div mee te laten posten.

Iemand nog enige ideeen?

  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 30-03 22:46
Ik zie niet wat er mis is met een multiple select box? Wat je kan kunt doen is bij het submitten van het formulier alle gekozen opties naar een hidden input schrijven (comma-separated bijv.) en die kun je dan server-side weer gebruiken (anders krijg je namelijk standaard alleen de eerstgekozen optie).
Een oplossing was om een div te creeren en hem daarna met javascript te vullen met een select box. Dit werkt allemaal goed alleen op 1 of andere manier pakt mozilla een select box welke in een div staat niet mee met het posten van een formulier. Dus dat valt ook af.
Dit komt waarschijnlijk omdat je de selectbox buiten het formulier gooit (dus buiten de form-tags)..

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
je bent toch bezig met ajax, waarom kan je die select box dan niet via ajax updaten?
dat gaat toch nog wel snel en zorgt ervoor dat je niet dat geneuzel hebt met client side aanpassen via javascript.

Mijn rig


  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 07-04 10:56
Koeniepoenie schreef op maandag 06 maart 2006 @ 19:55:
Ik zie niet wat er mis is met een multiple select box? Wat je kan kunt doen is bij het submitten van het formulier alle gekozen opties naar een hidden input schrijven (comma-separated bijv.) en die kun je dan server-side weer gebruiken (anders krijg je namelijk standaard alleen de eerstgekozen optie).


[...]

Dit komt waarschijnlijk omdat je de selectbox buiten het formulier gooit (dus buiten de form-tags)..
Multiple is geen probleem. Als je [] toevoegt aan een select box name dan kan je deze gewoon in een for each gebruiken in PHP. Dat is idd het probleem niet. Het probleem is echter dat bij bepaalde type's je niet meerdere items mag selecteren. Dus dan mag het geen multiple zijn. Dan is het wel zo netjes om dat client side te regelen.

Nee, div met de select box staat gewoon binnen de form tags.
marko77 schreef op maandag 06 maart 2006 @ 19:56:
je bent toch bezig met ajax, waarom kan je die select box dan niet via ajax updaten?
dat gaat toch nog wel snel en zorgt ervoor dat je niet dat geneuzel hebt met client side aanpassen via javascript.
Hoe zie je dat voor je? Hoe kan ik met ajax een select box aanpassen? Dan moet ik het in een div gooien en dan pakt mozilla hem dus niet.

[ Voor 20% gewijzigd door Lentje op 06-03-2006 20:00 ]


  • Koeniepoenie
  • Registratie: Oktober 2003
  • Laatst online: 30-03 22:46
Lentje schreef op maandag 06 maart 2006 @ 19:58:
[...]


Multiple is geen probleem. Als je [] toevoegt aan een select box name dan kan je deze gewoon in een for each gebruiken in PHP. Dat is idd het probleem niet. Het probleem is echter dat bij bepaalde type's je niet meerdere items mag selecteren. Dus dan mag het geen multiple zijn. Dan is het wel zo netjes om dat client side te regelen.
Dan switch je toch gewoon het multiple attribuut van de selectbox wanneer dat nodig is?

JavaScript:
1
2
3
document.getElementById('selectDing').multiple = true;
// of
document.getElementById('selectDing').multiple = false;

Moet werken naar ik meen ;)

edit:

Even getest, en dit werkt naar behoren :)

[ Voor 7% gewijzigd door Koeniepoenie op 06-03-2006 20:04 ]

Parse error: syntax error, unexpected GOT_USER in https://gathering.tweakers.net on line 1337


  • Lentje
  • Registratie: Juni 2001
  • Laatst online: 07-04 10:56
Zo simpel, doch doeltreffend. Stom dat ik er zelf niet op ben gekomen. Thanks!

[ Voor 36% gewijzigd door Lentje op 06-03-2006 20:05 ]


  • marko77
  • Registratie: Februari 2002
  • Laatst online: 06-05-2025
[...]


Hoe zie je dat voor je? Hoe kan ik met ajax een select box aanpassen? Dan moet ik het in een div gooien en dan pakt mozilla hem dus niet.
Het probleem met die divs bestaat niet, daar doe je iets fout imo.

verder kan je met ajax alles op je pagina aanpassen, dit hoeft niet per se in een div te gebeuren, meestal is een element met een ID voldoende maar dat hangt van de exacte ajax methode af.

Mijn rig

Pagina: 1