0
我是ajax的初學者,時間很短,所以我轉向這個社區尋求幫助。 我的問題是: 當我成功地發出ajax請求並返回結果時,我不能選擇另一個值。我會盡量在下面解釋。結果寫完後Ajax和PHP重新發送請求
我有一個搜索表單,其中包含4個下拉菜單和一個提交按鈕的PHP頁面。目標是通過從下拉列表中選擇一個值來設置搜索參數。當您選擇第一個值時,所有其他值必須根據選定的值更改值。
例如:我有一個下拉列表命名爲:
目標,月,港航
當您選擇的目的地,那麼所有其他的下拉菜單中有對應於目的地的方式重寫。所以,當我有這個目的地是一個單一的,現在我想選擇女巫月,或港口或船舶我想使用等等。
我希望你能理解。
編輯:它似乎不是與Ajax的問題,但與JQuery的事件沒有激化後,Ajax返回值。
我的代碼是:
阿賈克斯:
<script>
var xmlhttp;
function showUser(dest,mese,port,ladja)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="remote.php";
url=url+"?dest="+dest+"&mese="+mese+"&port="+port+"&ladja="+ladja;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send();
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("content").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
</script>
PHP
<div id="src">
<div id="main">
<div id="content">
<form name="src" id="src_form" method="post" action="result.php">
<div id="lin1" class="lin"><?php Destinacija(); ?></div>
<div id="lin2" class="lin"><?php Mesec(); ?></div>
<div id="lin3" class="lin"><?php Pristanisce(); ?></div>
<div id="lin4" class="lin"><?php Ladja(); ?></div>
<div id="lin5"><button id="src" type="submit">Išči</button></div>
</form>
</div>
</div>
</div>
<script>
$("#content").on("change", ".lin", function(event){
event.preventDefault();
//console.log($(this).text());
showUser(document.getElementById('dest').value,document.getElementById('mese').value,document.getElementById('port').value,document.getElementById('ladja').value);
});
</script>
<?php include("ajax.php"); ?>
<?php
function Destinacija()
{
include("class/class.Translate_inl.php");
$tr = new Translate_inl("dest_code");
include("includes/conSql.php");
$result = mysqli_query($con,"SELECT DISTINCT region_code FROM no_air_pricing");
echo '<select name="dest" id="dest">'.PHP_EOL;
echo '<option value="0">Destinacija</option>'.PHP_EOL;
while($row = mysqli_fetch_array($result))
{
$dest = $tr->TrVar($row['region_code']);
echo'<option value="'.$row['region_code'].'">'.$dest.'</option>'.PHP_EOL;
}
echo '</select>'.PHP_EOL;
include("includes/disSql.php");
}
function Mesec()
{
$tr = new Translate_inl("meseci");
include("includes/conSql.php");
$mo = array();
$i=0;
$result = mysqli_query($con,"SELECT sail_date FROM no_air_pricing ORDER BY sail_date");
while($row = mysqli_fetch_array($result))
{
$month = explode("/",$row['sail_date']);
$mo[$i] = $month[0];
$i++;
}
include("includes/disSql.php");
$un_mo = array_unique($mo);
$un_mo = array_values($un_mo);
$k = count($un_mo);
echo'<select name="mese" id="mese">'.PHP_EOL;
echo'<option value="0">Mesec odhoda</option>'.PHP_EOL;
for($j=0; $j<$k; $j++)
{
echo'<option value="'.$un_mo[$j].'">'.$tr->TrVar($un_mo[$j]).'</option>'.PHP_EOL;
}
echo'</select>'.PHP_EOL;
unset($tr);
}
function Pristanisce()
{
$tr = new Translate_inl("port_code");
$port = array();
$i=0;
include("includes/conSql.php");
$result = mysqli_query($con,"SELECT departure_port_code FROM no_air_pricing ORDER BY departure_port_code");
while($row = mysqli_fetch_array($result))
{
$port[$i] = $row['departure_port_code'];
$i++;
}
include("includes/disSql.php");
$uport = array_unique($port);
$uport = array_values($uport);
$k = count($uport);
echo '<select name="port" id="port">'.PHP_EOL;
echo '<option value="0">Pristanišče odhoda</option>'.PHP_EOL;
for($j=0; $j<$k; $j++)
{
echo'<option value="'.$uport[$j].'">'.$tr->TrVar($uport[$j]).'</option>'.PHP_EOL;
}
echo '</select>'.PHP_EOL;
unset($tr);
}
function Ladja()
{
$tr = new Translate_inl("ladje_kode");
$ladje = array();
$i=0;
include("includes/conSql.php");
$result = mysqli_query($con,"SELECT ship_code FROM no_air_pricing ORDER BY ship_code ");
while($row = mysqli_fetch_array($result))
{
$ladje[$i] = $row['ship_code'];
$i++;
}
include("includes/disSql.php");
$uladje = array_unique($ladje);
$uladje = array_values($uladje);
$k = count($uladje);
echo '<select name="ladja" id="ladja">'.PHP_EOL;
echo '<option value="0">Ladja</option>'.PHP_EOL;
for($j=0; $j<$k; $j++)
{
echo'<option value="'.$uladje[$j].'">'.$tr->TrVar($uladje[$j]).'</option>'.PHP_EOL;
}
echo '</select>'.PHP_EOL;
unset($tr);
}
?>
任何幫助將受到歡迎。提前致謝。 我已經編輯了php文件中的腳本代碼,以實現穆薩的答案。 仍然需要幫助原來的問題依然存在。
您要查找的是事件代表團,當您想從網頁上動態創建的元素捕獲事件時,通常會發生這種情況。 – Musa
我嘗試過,但仍然沒有焰火:(其他任何消耗? –
'div's沒有改變事件 – Musa