Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dodanie pozycji do <select>
Forum PHP.pl > Forum > Po stronie przeglądarki
bartyk
Witam,

Mam takiego select-a:
Kod
<select size="1" name="lstOtherAppName">
        <option value="1">opcja 1</option>
        <option value="2">opcja 2</option>
                   ......
        <option value="n">opcja n</option>
        <option value="-1">inne</option>
</select>


Mój problem polega na tym, aby po wybraniu pozycji "inne" otworzylo sie drugie okienko z <input> a po zatwierdzeniu nowa opcja pojawila sie w <select> jako:

Kod
<option value="n+1" selected="selected">opcja n+1</option>



O ile otwarcie dodatkowego okienka to nie jest problem, o tyle przekazanie wartości spowrotem jest dla mnie czarną magią sad.gif

Może ktoś pomoże?
nospor
krótko o dodaniu nowej opcji do selecta:
Kod
newOption = new Option(value, name);//nowa opcja
last=(twoj select).length;//ostatni index
(twoj select).options[last] = newOption;//dodanie do selecta
bartyk
nospor,

a możesz jeszcze podpowiedzieć w jaki sposób przekazać wartość pomiędzy okienkami?
nospor
W drugim okienku wpisz:
Kod
parent.metoda(wartoscinputa)

gdzie metoda to funkcja w glownym oknie, które z parametr wartosc inputa wpisze do selecta

Aczkolwiek proponuje CI inne rozwiązanie.
Input daj obok select'a. Po prostu niech on będzie ukryty, a po wciśnięciu inne pokazuj go.
bartyk
A ja zrobiłem tak:

Kod
if (document.forms.ApplicantData.lstPossition.value=='other')
{
  newVal=prompt('Add new value');
  if (newVal !=null)
    {
       last=document.forms.ApplicantData.lstPossition.length;
       newOption = new Option(newVal,last, false, true);
       document.forms.ApplicantData.lstPossition.options[last] = newOption;
       }
}



Oczywiście dzięki wielie za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.