Verwijder een bepaalde optie uit select bij klik.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sven de Haas

Sven de Haas

10/04/2013 11:10:10
Quote Anchor link
Zie script.

De bedoeling is dat de optie met value "weg" verdwijnt wanneer ik op de knop klik.
Hoe de functie nu is ingesteld verwijderd hij de nummer 1 uit de array, dus in dit geval Pear, daarna Banana enz.
Ik heb veel op internet gezocht maar niets wijzer geworden. Ook geprobeerd om x.remove("weg"); te gebruiken (leek mij het meest logisch) maar werkt niet.

Waarom heb ik dit nodig?
Een broodjes bestelsysteem. Standaard staat de select van "Wanneer bezorgen" op "Zo snel mogelijk".
Wanneer de klant op een radio button "Afhalen" klikt moet de functie in werking gaan die de optie "Zo snel mogelijk" laat verdwijnen uit de drop down box.

Kan iemand mij hier uitleg over geven?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<html>
<head>
<script>
function removeOption(ctrl)
{
var x=document.getElementById("mySelect");
x.remove(1);

}
</script>
</head>
<body>

<form>
<select id="mySelect" value="this.value">
  <option value="blijf1">Apple</option>
  <option value="weg">Pear</option>
  <option value="blijf2">Banana</option>
  <option value="blijf3">Orange</option>
</select>
<input type="button" onclick="removeOption()" value="Remove option">
</form>

</body>
</html>


Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 10/04/2013 13:51:10 door Bas IJzelendoorn
 
PHP hulp

PHP hulp

05/05/2024 18:06:43
 
Ward van der Put
Moderator

Ward van der Put

10/04/2013 12:30:55
Quote Anchor link
Je kunt een option lang niet altijd verwijderen, maar vaak wel verbergen. Dan krijg je bijvoorbeeld dit, met ingesprongen de relevante code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Voorbeeld in HTML5</title>

  <style>
    #Foo option[disabled] {
      display: none;
    }
  </style>

</head>
<body>

  <form action="">
    <select id="Foo" value="">
      <option value="blijf1">Apple</option>
      <option id="optPear" value="weg">Pear</option>
      <option value="blijf2">Banana</option>
      <option value="blijf3">Orange</option>
    </select>
    <input type="button" onclick="document.getElementById('optPear').disabled='disabled';" value="Remove option">
  </form>

</body>
</html>
 
Sven de Haas

Sven de Haas

10/04/2013 12:47:50
Quote Anchor link
Ward van der Put op 10/04/2013 12:30:55:
Je kunt een option lang niet altijd verwijderen, maar vaak wel verbergen. Dan krijg je bijvoorbeeld dit, met ingesprongen de relevante code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Voorbeeld in HTML5</title>

  <style>
    #Foo option[disabled] {
      display: none;
    }
  </style>

</head>
<body>

  <form action="">
    <select id="Foo" value="">
      <option value="blijf1">Apple</option>
      <option id="optPear" value="weg">Pear</option>
      <option value="blijf2">Banana</option>
      <option value="blijf3">Orange</option>
    </select>
    <input type="button" onclick="document.getElementById('optPear').disabled='disabled';" value="Remove option">
  </form>

</body>
</html>

Hallo Ward,
Bedankt voor je bericht.
Als ik jou script uitvoer werkt het inderdaad wel. Echter als ik hem bijv. op de iphone open dan blijft de optie er in staan, alleen dan disabled. Opzich niets mis mee, maar naar mijn idee moet het anders kunnen.

Als je onderstaand script uitvoert doet het precies zoals ik wil. Alleen verwijderd hij hem alsnog bij een soort array id. Dus om te zorgen dat de klanten niet nog een optie verwijderen laat ik het scriptje eerst tellen of de option al niet verwijderd is.

Echter vind ik het te omslachtig, dit moet toch gewoon uitgevoerd kunnen worden door Remove() een opdracht te geven een option te removen a.d.h.v. de value? :-S

Zoals hieronder moet het (aan de buitenkant) worden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<script>

function removeOption(ctrl)
{
    var x=document.getElementById("mySelect");

    if(mySelect.options.length == 4)
    {
        x.remove(0);
    }

}

</script>
</head>
<body>

<form>
<select id="mySelect" value="this.value">
<option value="weg">Zo spoedig mogelijk</option>
<option value="blijf1">Vandaag</option>
<option value="blijf2">Morgen</option>
<option value="blijf3">Overmorgen</option>
</select>
<input type="button" onclick="removeOption()" value="Remove option">
</form>
 
Koen Hollander

Koen Hollander

10/04/2013 13:07:53
Quote Anchor link
Ik denk dat er een MOD met de ban-hamer moet zwaaien. ^^
Gewijzigd op 10/04/2013 13:08:12 door Koen Hollander
 
- Ariën  -
Beheerder

- Ariën -

10/04/2013 13:10:22
Quote Anchor link
Is reeds gerapporteerd, nu even op de dienstdoende collega wachten.
 
Sven de Haas

Sven de Haas

10/04/2013 13:32:21
Quote Anchor link
En ik maar denken dat er een antwoord was :-P hahaha.
 
Koen Hollander

Koen Hollander

10/04/2013 13:37:07
Quote Anchor link
Off: HIjs is al een tijdje stil
 
Bas IJzelendoorn

Bas IJzelendoorn

10/04/2013 13:53:42
Quote Anchor link
Heb de reacties verwijderd[/modedit]
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.