嗨,請幫助我解決這個問題。我想要下拉選定的值以反映另一個文本字段。爲此,我設置onChange函數並使用ajax返回選定的值。我將返回值設置爲一個php變量/會話,以便我可以在頁面中使用它。該值已成功返回,但僅顯示。我將它隱藏起來,但不知道如何將它轉換爲變量。如何將下拉值(使用ajax)作爲變量返回
<select name="txtService" id="txtService" onchange="showService(this.value)">
<option value="0">Select Service</option>
<?php
$sql = "select * from tab_service where service_active = 1 Order By service_name";
$query = $db->ExecuteSelect($sql);
while ($row = mysql_fetch_object($query)) {
echo "<option value='".$row->service_id."'>".$row->service_name."</option>";
}
?>
</select>
<div id="div1"></div>
我的Ajax獲得,並返回所選擇的值DIV1:在booking2.php
<script type="text/javascript">
function showService(str) {
if (str == "") {
document.getElementById("div1").innerHTML;
return;
}
var xhr = false;
if (window.XMLHttpRequest) {
// IE7+, Firefox, Chrome, Opera, Safari
xhr = new XMLHttpRequest();
}
else {
// IE5/IE6
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
if (xhr) {
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
document.getElementById("div1").innerHTML = xhr.responseText;
}
}
xhr.open("GET", "booking2.php?q="+str, true);
xhr.send(null);
}
}
這裏:
<?php
session_start();
$vals = @$_REQUEST['q'];
$_SESSION['SelectValue']=$vals;
?>
<input type="hidden" name="selectedServID" value="<?php echo $_SESSION['SelectValue']; ?>">
我將返回值$ _SESSION ['SelectValue']設置爲隱藏輸入。但似乎不工作。 '<?php \t session_start(); \t $ vals \t = \t @ $ _ REQUEST ['q']; \t $ _SESSION ['SelectValue'] = $ vals; ?> \t 」>' – jeliey
你爲什麼要設置ajax呼叫值的任何元素本身..你不能用JavaScript設置PHP變量。 javascript是一種客戶端腳本語言。 http://jsfiddle.net/FwTgb/如果這符合您的要求,請參考 –
@Harshada Chavan,您應該對您所做的代碼做出回答,因爲OP正在使用它 – 2014-02-20 08:25:44