Может кто-то, пожалуйста, помогите мне с этим кодом, я что-то пропустил, но не могу понять, что. Когда вы выбираете один из элементов в первом списке, он отображает следующий флажок, но нет никаких параметров для выбора, а то же самое и с 3-й опцией, хотя на этот раз я даже не получаю окно.AJAX несколько выпадающих списков с обновлением цены
Мне нужно около 10 выпадающих списков в целом и после того, как каждый выбор был выбран, чтобы обновить цену внизу, используя столбец цены в таблице sql (я понятия не имею, как это сделать), поэтому вся ваша помощь будет будь здорово, смотришь на это, по крайней мере, 4 часа, и я не получаю.
Благодаря
вот HTML:
<body>
<select style="width: 150px;" name="country" id="add-event-dialog-country" onchange="getState(this.value)">
<?php
echo "<option selected='selected' disabled='disabled'> Select Country</option>";
$result = mysql_query("SELECT DISTINCT country FROM country");
while($row = mysql_fetch_array($result)){
echo "<option value='".$row['country']."'>".$row['country']."</option>";
}
?>
</select>
<p id="statediv">
<select style="width: 150px;" name="add-event-dialog-state" id="add-event-dialog-location" disabled="disabled">
<option>Select State</option>
</select>
</p>
<p id="citydiv">
<select style="width: 150px;" name="add-event-dialog-city" id="add-event-dialog-city" disabled="disabled">
<option>Select City</option>
</select>
</p>
Price =<br>
VAT = <br>
Total Price = <br>
</body>
Вот JS скрипт:
<script language="javascript" type="text/javascript">
function getXMLHTTP() {
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}
return xmlhttp;
}
function getState(country_Id) {
var strURL="findState.php?country="+country_Id;
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('statediv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
function getCity(country_Id,state_id) {
var strURL="findCity.php?country_name="+country_Id+"&state_name="+state_Id;
var req = getXMLHTTP();
if (req) {
req.onreadystatechange = function() {
if (req.readyState == 4) {
// only if "OK"
if (req.status == 200) {
document.getElementById('citydiv').innerHTML=req.responseText;
} else {
alert("There was a problem while using XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}
</script>
Вот findState.php
<?php
include 'classes.php';
$country = $_GET['country'];
$query="SELECT state_name FROM state WHERE country_id='$country'";
$result=mysql_query($query) or die(mysql_error());
?>
<select style="width: 150px;" id="add-event-dialog-location" name="add-event-dialog- location" onchange="getZone('<?=$country?>',this.value)">
<option selected='selected' disabled='disabled'>Select State</option>
<?php
while($row = mysql_fetch_array($result)){
echo "<option value='".$row['state_name']."'>".$row['state_name']."</option>";}
?>
</select>
Вот findCity.php
<?php
include 'classes.php';
$country_id = $_GET['country'];
$state_Id = $_GET['state'];
$query="SELECT city_name FROM city WHERE country_id='1' AND state_id='1'";
$result=mysql_query($query) or die(mysql_error());
?>
<select style="width: 150px;" id="add-event-dialog-location" name="add-event-dialog- location" onchange="getZone('<?=$country?>',this.value)">
<option selected='selected' disabled='disabled'>Select State</option>
<?php
while($row = mysql_fetch_array($result)){
echo "<option value='".$row['city_name']."'>".$row['city_name']."</option>";}
?>
</select>
Моя база данных SQL имеет 3 таблицы
первая таблица называется страна с 3-мя столбцами идентификатор, страна и цена
второй таблице называется состояние с 4-мя колоннами идентификатор, COUNTRY_ID, state_name и цена
и 3-й стол, называемый городом с 5 колонками id, country_id, state_id, city_имя и цена
Правильно ли выполняются ваши SQL-запросы и возвращаются результаты? – weenoid
Привет, weenoid, я так думаю, если я изменяю $ query = "SELECT state_name FROM state WHERE country_id = '$ country'"; to $ query = "SELECT state_name FROM state WHERE country_id = '1'"; он приносит выбор вверх, он просто не будет работать автоматически при выборе в раскрывающемся списке. – Dan