Toon posts:

[php/forms] values van selected/unselected options naar php

Pagina: 1
Acties:

Onderwerpen


Verwijderd

Topicstarter
Beste Allen,

Ik zit met het volgende dilemma, ik wil graag uit een grote lijst met namen een kleinere lijst met namen selecteren door middel van een verplaatsing tussen twee <select> lijsten naast elkaar. de namen uit de linker lijst kunnen met een druk op een knop en en stuk Javascript naar de rechter <select> lijst verplaatst worden. Dit werkt allemaal prima.

wat ik vervolgens wil is de lijst uit de rechter <select>, ongeacht of de items geselecteerd zijn of niet, in php krijgen. En dit krijg ik dus niet voor elkaar. Het lukt natuurlijk wel als ze geselecteerd zijn, dan kan je gewoon de array uit de $_POST halen. Maar niet geselecteerde eruit halen is natuurlijk niet waarvoor de <select> ooit bedoeld is. Kan iemand me helpen en aangeven of er een manier is om deze data toch in php te krijgen? (of misschien een andere methode voor mijn selectie uit de grote lijst aandragen?)

mijn code hieronder. vanzelfsprekend ook wat JS, maar dat doet er niet toe voor het probleem wat er is.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<form action="index.php" method="post">
    
        <select id="sel1" multiple="yes">
                <option value='1'>Piet</option>
                <option value='2'>Jan</option>
                <option value='3'>Frank</option>
                <option value='4'>Peter</option>
                <option value='5'>Anton</option>
                <option value='6'>Jelle</option>
        </select>

        <input style="width:180px;" type="button" value="Move to --&gt;"
         onclick="moveOptions(this.form.sel1, this.form.sel2);" /><br />
        <input style="width:180px;" type="button" value="Remove from  &lt;--"
         onclick="moveOptions(this.form.sel2, this.form.sel1);" />

        <select id="sel2" name="playerlist[]" multiple="yes">
                <option value='7'>Bart</option>
        </select>

        <input type="submit" name="submit" value="Save names list"/>
    
</form>

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Bij form submit met een stukje JS even door de elementen fietsen en die:
a) selecteren (maar dat geeft interface 'flitsen' vermoed ik)
b) in een hidden field proppen ("hidden_sel2") en dan in PHP "hidden_sel2" uitlezen i.p.v. "sel2"
c) submitten d.m.v. een AJAX call
d) ... vast nog -tig manieren

[ Voor 16% gewijzigd door RobIII op 09-09-2011 03:15 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Of anders afstappen van dat gekke dubbele selectsysteem en in plaats daarvan een "checklistbox" maken door een divje om een lading checkboxen te zetten en vervolgens overflow: scroll erop te zetten.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
NMe schreef op vrijdag 09 september 2011 @ 02:31:
Of anders afstappen van dat gekke dubbele selectsysteem en in plaats daarvan een "checklistbox" maken door een divje om een lading checkboxen te zetten en vervolgens overflow: scroll erop te zetten.
Dan kun je niet met Ctrl/Shift makkelijk een snelle(re) selectie maken en moet je elk item 1-voor-1 aanklikken. Ik ben 't met je eens hoor, maar soms is zo'n multiselectbox helemaal zo gek niet ;)












[ Voor 66% gewijzigd door RobIII op 09-09-2011 03:13 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • Edwinboss
  • Registratie: Juni 2008
  • Laatst online: 03-11 14:54
Of voor elke keer dat je een naam naar de rechterlijst verplaats een extra hidden input toevoegen aan het formulier.

Verander je alleen de naam iets van de hidden input als het origineel en die kun je dan ook gewoon met PHP uitlezen.

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

NMe schreef op vrijdag 09 september 2011 @ 02:31:
Of anders afstappen van dat gekke dubbele selectsysteem en in plaats daarvan een "checklistbox" maken door een divje om een lading checkboxen te zetten en vervolgens overflow: scroll erop te zetten.
Hangt een beetje af van de hoeveelheid items, maar dit vind ik (zonder de daadwerkelijke content te zien) de beste oplossing. Met een extra "check all" en "check none" er bij lijkt me dit het fijnst werken.

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Verwijderd

Het zijn erg veel items (denk aan een stuk of 400) en je wil er telkens een stuk of 30-50 selecteren. Met checkboxen kan mooi werken, maar het selecteren gaat significant moeizamer dan met de select list.

  • ibmos2warp
  • Registratie: Januari 2007
  • Laatst online: 20-11-2023

ibmos2warp

Eval is Evil

RobIII schreef op vrijdag 09 september 2011 @ 02:40:
[...]

Dan kun je niet met Ctrl/Shift makkelijk een snelle(re) selectie maken en moet je elk item 1-voor-1 aanklikken. Ik ben 't met je eens hoor, maar soms is zo'n multiselectbox helemaal zo gek niet ;)
Of je gebruikt daar javascript voor, als je toch bezig bent met javascript :+

Ik weet alles van niks
Vind Excel ongelovelijk irritant.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Mja, bij die checkboxen kijken of je shift als modifier key gebruikt en dan vanaf je vorige klikt tot aan de nieuwe een selectie maken is inderdaad niet zo lastig. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1