Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][HTML][PHP]Nieaktywne lub aktywne pole wyboru - Select
Forum PHP.pl > Forum > Przedszkole
18Pawel18
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?
gitbejbe
masz tutaj fajny przykład, powinno pomóc:
  1. function test() {
  2. var get_id = document.getElementById('selected_options');
  3. var result = get_id.options[get_id.selectedIndex].value;
  4. alert(result);
  5. }
  6. <h1>Outsourcing Nepal</h1>
  7. <div id="selected_options1">
  8. <select onchange="test()" id="selected_options">
  9. <option value="0" selected>-Select-</option>
  10. <option value="1">Communication</option>
  11. <option value="2">Hardware</option>
  12. </select>
  13. </div>

Później zamiast alerta sprawdzasz czy result == id Polski i wyświetlasz selecta z województwami, np : "document.getElementById("wojewodztwo").disabled=true;", jeśli nie to false. : )

http://stackoverflow.com/questions/5420373...-selected-value
18Pawel18
Temat do zamknięcia, wszystko dział.
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.