Hirdetés
- Vivo X300 - kicsiben jobban megéri
- A lapkakészlet és az akku különbözteti meg a Motorola Edge 60 és Edge 60 Pro-t
- Milyen okostelefont vegyek?
- Yettel topik
- Bemutatkozott a Poco X7 és X7 Pro
- Okosóra és okoskiegészítő topik
- Poco F6 5G - Turbó Rudi
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Szívós, szép és kitartó az új OnePlus óra
- Google Pixel topik
Új hozzászólás Aktív témák
-
bLaCkDoGoNe
veterán
Sziasztok,
AJAX-szal akadt egy kis problémám... most tanulgatom a dolgot, és egy olyan (egyszerűnek tűnő) dolgot szeretnék megcsinálni, hogy van egy formom, benne 2 lenyíló lista, és a második lista elemei aszerint épüljenek fel, hogy mit választottam ki az első lenyíló listában.
Az első listában minden elem rendelkezik egy értékkel. Ezzel az értékkel meghívok egy másik php oldalt, ami ennyit csinál:
<?php
switch($_GET['mit'])
{
case "1":
echo "<option value='11'>Első.1</option>";
echo "<option value='12'>Első.2</option>";
echo "<option value='13'>Első.3</option>";
break;
case "2":
echo "<option value='21'>Második.1</option>";
echo "<option value='22'>Második.2</option>";
echo "<option value='23'>Második.3</option>";
break;
case "3":
echo "<option value='31'>Harmadik.1</option>";
echo "<option value='32'>Harmadik.2</option>";
echo "<option value='33'>Harmadik.3</option>";
break;
}
?>Elvileg (én legalábbis azt hittem) így feltölti a második lenyíló listát az elsőnek megfelelő al-elemekkel, de nagyon nem akar működni. A FireBug szerint megjön a megfelelő response (pl. <option value='21'>Második.1</option><option value='22'>Második.2</option><option value='23'>Második.3</option>), de az elemek nem jelennek meg a második listában.
Ha segít, itt van a másik oldal kódja is, hátha segít kitalálni, mit szúrtam el:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<script language="javascript" type="text/javascript">
function getHTTPObject() {
var xmlhttp;
/*@cc_on
@if (@_jscript_version >= 5)
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@else
xmlhttp = false;
@end @*/
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
try {
xmlhttp = new XMLHttpRequest();
} catch (e) {
xmlhttp = false;
}
}
return xmlhttp;
}
var http = getHTTPObject();
function updateLista() {
var mit = document.getElementById("select_lista").value;
http.open("GET", url + escape(mit), true);
http.onreadystatechange = handleHttpResponse;
http.send(null);
}
var url = "valaszt.php?mit="; // The server-side script function handle
function handleHttpResponse()
{ if (http.readyState == 4) {
result = http.responseText;
document.getElementById('kivalasztott_ertek').value = result;
}
}
</script>
</head>
<body>
<form action='select.php?action=submit' method='post' name='valasztas'>
<select name='select_lista' id='select_lista' onChange='updateLista()'>
<option value='1'>Első</option>
<option value='2'>Második</option>
<option value='3'>Harmadik</option>
</select>
<br />
<select name='kivalasztott_ertek' id='kivalasztott_ertek'>
</select>
</body>
</html>Bármilyen ötletnek, tanácsnak örülnék, mert itt elakadtam, és bár csak most ismerkedem az AJAX-szal, azt hittem, hogy ez nem lesz túl nagy falat.
Köszi előre is.
Új hozzászólás Aktív témák
- alza vélemények - tapasztalatok
- Hálózati / IP kamera
- Vivo X300 - kicsiben jobban megéri
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- A lapkakészlet és az akku különbözteti meg a Motorola Edge 60 és Edge 60 Pro-t
- Milyen okostelefont vegyek?
- Kormányok / autós szimulátorok topikja
- Arc Raiders
- PlayStation 5
- Energiaital topic
- További aktív témák...
- Macbook Pro 14" A2442 2021 M1 Pro 16GB 512GB (2022-es gyártás)
- Macbook Pro 14" A2442 2021 M1 Pro 16GB 1Terra (2022 gyártás) 2
- NIKON D7500 - DSLR fényképezőgép váz (+ teljes NIKON szett!)
- Macbook Pro 14" A2442 2021 M1 Pro 16GB 1Terra (2022 gyártás) 1
- Macbook Pro 16" A2141 2019 i9 32GB 1Terra (94 Ciklus 93% akku!!) (2020.11.30.)
- LG 83B4 - 83" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
- Telefon felvásárlás!! Xiaomi Redmi Note 13, Xiaomi Redmi Note 13 Pro, Xiaomi Redmi Note 13 Pro+
- Apple iPhone 16 Pro Max - Black Titanium - 256GB - Akku: 90% - Megkímélt állapot!
- Xiaomi Redmi Note 14 Pro / 8/256GB / Káértyafüggetlen / 12Hó Garancia
- Samsung Galaxy S25 Ultra Titanium Jetblack Titán dizájn, 120 Hz AMOLED, AI Pro kamera
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Köszi előre is.

