簡體   English   中英

如何設置通過AJAX從另一個頁面調用的下拉列表的默認值?

[英]How do you set the default value of a drop down list that is being called via AJAX from another page?

對於我的代碼,我的下拉列表是通過以下方式在原始頁面上啟動的:

<select name =country id=country 
onchange=showRecords(this.value,'country','province')>"

該函數獲取值,將其等於國家/地區,然后查詢MySQL,並在id = province處設置結果,並創建級聯下拉列表。 這顯然是通過Ajax實現的。

因此,當設置了$ _REQUEST ['province']時,“省”下拉列表將填充其所屬國家的所有省,等等。 即;

<?if(isset($province)){
echo "<script>showRecords('".$country."','country','province');</script>";}?>

但是,對於我一生來說,我無法弄清楚如何將默認值設置為等於$ _REQUEST ['province']。 我不能使用傳統方式:

if (($selected) == ($value)) {
 $options.= " selected";
 }

因為它一次只在一條信息中查詢AJAX頁面。

任何想法將不勝感激。

您的代碼似乎沒有多大意義。 讓我擔心的特別一件事是您說ajax一次加載一項?

也許是這樣的。 國家選擇標簽,例如...

<select onchange="showRecords(this)">

以及創建javascript函數showRecords(),當有人在select標記中選擇一個選項時將調用該函數。

<script>
function showRecords(calling_element) {
    // do AJAX call here using calling_element.options[calling_element.selectedIndex].value as the selected country. this.value does not work for select tags.

}
</script>

接收此AJAXed請求的PHP頁面將使用包含所有省份值或定界列表的JSON對象進行回復。

一旦Javascript showRecords函數從PHP頁面接收到響應,它將把每個選項添加到正確的select標記中。 完成后,它將通過以下類似方式將默認值設置為所需的任何選項:

target_element.selectedIndex = {desired list index here};

我對你的問題有很多假設,

首先是,如果默認情況下您具有這樣的選擇省

<select id="province">
 <option value=""></option>
 <option value="California">California</option>
 <option value="Washington">Washingthon</option>
</select>

那么您可以使用此腳本默認選擇

document.getElementById("province").value="Washington"; 

但是如果默認情況下,您具有這樣的選擇省份

<select id="province"></select>

那么您可以使用此腳本默認選擇

document.getElementById("province").innerHTML='<option value="Wahsington">Washington</option>'; 

因此這取決於您的代碼和您的需求。 也許如果您遇到其他情況,應該以其他方式解決問題。

cmmiiw :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM