- Magisk
- Akciófigyelő: Jelentősen olcsóbban nyit az Ulefone új mindenese
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Samsung Galaxy A54 - türelemjáték
- iGO Primo
- Telekom mobilszolgáltatások
- Motorola Moto Tag - nyomom, követ
- Xiaomi Watch S1 - szép az idő
- Egyszerre legnagyobb és legkisebb is a Garmin Venu X1
- Vivo X200 Pro - a kétszázát!
Ú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
- Eredeti Lenovo 300W töltők - ADL300SDC3A
- BESZÁMÍTÁS! Asus B760M i7 12700KF 32GB DDR4 512GB SSD RX 6800 16GB Rampage SHIVA FSP 700W
- ÚJ- Lenovo ThinkVision T24i-10 - 24" monitor - Számla, garancia
- LG 48GQ900-B - 48" OLED - 4K 3840x2160 - 138Hz & 0.1ms - G-Sync - FreeSync - HDMI 2.1
- LG 65QNED87T / 65" - 164 cm QNED / 4K UHD / 120Hz & 3ms / HDR 10 Pro / FreeSync Premium / HDMI 2.1
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest