Toon posts:

[javascript]Multiple select values posten

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste tweakers... :D

Ik heb een stukje code waarbij ik 2 multiple select boxen heb.
Met javascript kan vanuit de eerste (possible) de values overhevelen naar de 2de (chosen).

Dit werkt goed, maar als ik de 2de ga posten, post het alleen de laaste value.
Nu kwam ik er achter dat het komt doordat de naam van de multiple select niet op [] eindigd.
Doe ik dat wel... dan doet hij het wel, maar nu krijg ik het niet meer voor elkaar om de values over te
hevelen.

Javascript code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// selecteren van naar
function copyToList(from,to)
{
  fromList = eval('document.forms[0].' + from);
  toList = eval('document.forms[0].' + to);
  if (toList.options.length > 0 && toList.options[0].value == 'temp')
  {
    toList.options.length = 0;
  }
  var sel = false;
  for (i=0;i<fromList.options.length;i++)
  {
    var current = fromList.options[i];
    if (current.selected)
    {
      sel = true;
      if (current.value == 'temp')
      {
        alert ('Deze tekst kunt u niet verplaatsen!');
        return;
      }
      txt = current.text;
      val = current.value;
      toList.options[toList.length] = new Option(txt,val);
      fromList.options[i] = null;
      i--;
    }
  }
  if (!sel) alert ('U heeft geen selectie gemaakt!');
}

// multi users select
function allSelect()
{
  List = document.forms[0].chosen;
  if (List.length && List.options[0].value == 'temp') return;
  for (i=0;i<List.length;i++)
  {
     List.options[i].selected = true;
  }


en dan hier de HTML code:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<SELECT NAME="possible" MULTIPLE SIZE="10" STYLE="width: 200px">
<OPTION VALUE="1">value1</OPTION>

<OPTION VALUE="2">value2</OPTION>
</SELECT>
</td>
<td align="center" width="40">
<A HREF="javascript:copyToList('possible','chosen')">--></A><BR/>
<A HREF="javascript:copyToList('chosen','possible')"><--</A>
</td>
<td align="center" >
<SELECT NAME="chosen[]" MULTIPLE SIZE="10" STYLE="width: 200px">
<OPTION VALUE="temp">Kies uit de medewerkers links
</SELECT>



greetz West

[ Voor 36% gewijzigd door Pelle op 16-06-2005 16:36 . Reden: ..... ]


  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 00:08

Pelle

🚴‍♂️

Zet je javascript even tussen code-tags, en post niet je php-code maar gewoon de html output.

  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

code:
1
2
3
4
5
fromList = document.forms[0].elements[from];
toList = document.forms[0].elements[to];

En:
$sHTML .= "<A HREF=\"javascript:copyToList('possible[]','chosen[]')\">--></A><BR/>\n";

Op deze manier kun je beter je form elementen aanroepen en krijg je dus geen problemen met brackets in de namen.


En zou je in het vervolg [norml]
code:
1
[/] blokken kunnen gebruiken ;) En groeten onder je post hoeft niet omdat je dat wel in je sig kunt doen.

[ Voor 18% gewijzigd door André op 16-06-2005 15:40 ]


Verwijderd

Topicstarter
Probeer het, maar krijg de melding... misschien iets stoms, maar javascript is voor mij nog steeds abacadabra.

Error: syntax error
Line: 43, Column: 36
Source Code:
document.forms[0].elements[possible[]]

[ Voor 13% gewijzigd door Verwijderd op 16-06-2005 15:37 ]


  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Ik heb even mijn code aangepast, lukt het zo wel?

Verwijderd

Topicstarter
helemaal top! Moet nog wel even de juiste syntax vinden om alles te selecteren voordat er gepost word, maar alvast thanks!

Verwijderd

Topicstarter
Laat ik dan hierop antwoord geven:

List = document.forms[0].elements['chosen[]'];

  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Je leert snel ;)
Pagina: 1