Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][HTML][PHP]Nieaktywne lub aktywne pole wyboru - Select
18Pawel18
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (10%)
X----


Mam problem z aktywnym, bądź nieaktywnym polem SELECT.

W bazie danych mam wpisane państwa i chcę aby po wybraniu Polski był dostępny SELECT z województwami czyli możliwość wybrania województwa, a po wybraniu innej opcji (innego państwa) zablokowany wybór (z logicznych przyczyn).

Próbowałem dodać przed SELECT-em z województwami: if($wojewodztwo['id'] == 135) ?> ale nie działało. W czym jest problem??

Całość:

Baza danych MySql:

Kod
CREATE TABLE IF NOT EXISTS `panstwo` (
  `id` int(10) unsigned NOT NULL,
  `nazwa` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

--
-- Zrzut danych tabeli `panstwa`
--

INSERT INTO `panstwo` (`id`, `nazwa`) VALUES
(1, 'Afganistan'),
(2, 'Albania'),
(3, 'Algieria'),
(4, 'Andora'),
(5, 'Angola'),
(6, 'Antigua i Barbuda'),
(7, 'Arabia Saudyjska'),
.....
(165, 'Zumbia');


Docelowy plik PHP:

Kod
<select name="panstwo" id="panstwo">
            <option value="0">Wybierz państwo</option>
            <?php
            
            
            //pobranie listy państw
            $panstwa = pobierzPanstwa();

            if(isset($_POST['panstwo'])) $panstwSel = $_POST['panstwo']; else $panstwSel = '0';
            ?>
            <?php foreach($panstwa as $panstwo): ?>
                <option value="<?php echo $panstwo['id']; ?>" <?php if($panstwo['id'] == $panstwSel) echo 'selected'; ?>><?php echo $panstwo['nazwa']; ?></option>
            <?php endforeach; ?>

        </select>


Kod
<select name="wojewodztwo" id="wojewodztwo">
            <option value="0">Wybierz województwo</option>
            <?php
            
            
            //pobranie listy wojewodztw
            $wojewodztwa = pobierzWojewodztwa();

            if(isset($_POST['wojewodztwo'])) $wojewSel = $_POST['wojewodztwo']; else $wojewSel = '0';
            ?>
            <?php foreach($wojewodztwa as $wojewodztwo): ?>
                <option value="<?php echo $wojewodztwo['id']; ?>" <?php if($wojewodztwo['id'] == $wojewSel) echo 'selected'; ?>><?php echo $wojewodztwo['nazwa']; ?></option>
            <?php endforeach; ?>

        </select>


Znalazłem też takie rozwiązanie(przykład):

Kod
<html>
<head>
    <script language="javascript">
    
    function test()
    {
    var wartosc_pola_xyz;
    var tekst=document.getElementById('abc');
    
    wartosc_pola_xyz = document.getElementById('xyz').value;
    
    if(wartosc_pola_xyz=='0')
    {
    tekst.value="opcja niedostępna";
    document.getElementById('abc').disabled=true;
    }
    
    if(wartosc_pola_xyz=='1')
    {
    tekst.value="opcja niedostępna";
    document.getElementById('abc').disabled=true;
    }
    
    if(wartosc_pola_xyz=='2')
    {
    tekst.value="";
    document.getElementById('abc').disabled=false;
    }
    }
    </script>
</head>
<body>

    <FORM>
    <select name="xyz" id="xyz" onChange="test()">
    <option value=0 selected></option>
    <option value=1>opcja 1</option>
    <option value=2>opcja 2</option>
    </select>
    <input type="text" name="abc" id="abc" disabled value="opcja niedostępna">
    </form>
    

</body>
</html>


ale zabardzo też mi to nie działało.

Co tam można zmienić żeby to zadziałało?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
18Pawel18
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 1.02.2010

Ostrzeżenie: (10%)
X----


Temat do zamknięcia, wszystko dział.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 01:34