PHP
Lista rozwijana z polem tekstowym u góry?
Aby stworzyć listę rozwijaną z polem tekstowym u góry w PHP, należy połączyć HTML, PHP oraz JavaScript. Pole tekstowe może służyć do filtrowania opcji w czasie rzeczywistym lub do wprowadzania nowych wartości. Poniżej przedstawiam szczegółowe rozwiązanie.
Lista rozwijana z polem tekstowym wymaga odpowiedniej struktury HTML. Pole tekstowe znajduje się nad listą rozwijaną, a lista jest generowana dynamicznie w PHP.
Opcje listy rozwijanej mogą być generowane z tablicy, bazy danych lub innego źródła danych. PHP odpowiada za dynamiczne tworzenie elementów <option>
.
JavaScript umożliwia filtrowanie opcji w czasie rzeczywistym na podstawie wpisanego tekstu. Dzięki temu użytkownik może szybko znaleźć interesującą go opcję.
CSS pozwala na estetyczne rozmieszczenie elementów oraz zapewnia responsywność.
<?php
// Przykładowe dane do listy rozwijanej
$opcje = ["Jabłko", "Gruszka", "Pomarańcza", "Banan", "Wiśnia", "Truskawka"];
?>
<!DOCTYPE html>
<html lang="pl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Lista rozwijana z polem tekstowym</title>
<style>
.dropdown {
position: relative;
width: 300px;
}
.dropdown input[type="text"] {
width: 100%;
padding: 10px;
box-sizing: border-box;
border: 1px solid #ccc;
}
.dropdown select {
width: 100%;
padding: 10px;
box-sizing: border-box;
border: 1px solid #ccc;
margin-top: 5px;
}
</style>
</head>
<body>
<div class="dropdown">
<!-- Pole tekstowe do filtrowania -->
<input type="text" id="filterInput" placeholder="Wpisz, aby filtrować...">
<!-- Lista rozwijana generowana dynamicznie w PHP -->
<select id="dropdownList">
<?php foreach ($opcje as $opcja): ?>
<option value="<?php echo htmlspecialchars($opcja); ?>">
<?php echo htmlspecialchars($opcja); ?>
</option>
<?php endforeach; ?>
</select>
</div>
<script>
// Filtrowanie opcji w czasie rzeczywistym
document.getElementById('filterInput').addEventListener('input', function() {
const filter = this.value.toLowerCase();
const options = document.getElementById('dropdownList').options;
for (let i = 0; i < options.length; i++) {
const optionText = options[i].text.toLowerCase();
options[i].style.display = optionText.includes(filter) ? '' : 'none';
}
});
</script>
</body>
</html>
$opcje
i generuje elementy <option>
z odpowiednimi wartościami i tekstami.Stworzenie listy rozwijanej z polem tekstowym u góry wymaga połączenia HTML, PHP i JavaScript. Rozwiązanie to pozwala na dynamiczne filtrowanie opcji w czasie rzeczywistym, co poprawia wygodę użytkownika. W bardziej zaawansowanych przypadkach warto rozważyć użycie AJAX lub gotowych bibliotek front-endowych.