2012-06-06 22 views
0

我正在構建一個包含全部50個狀態的選擇標記的站點。我希望能夠爲每個選定的狀態生成一個頁面,而不必編寫50個單獨的頁面。任何想法如何我會做到這一點?謝謝。根據所選變量生成頁面信息

+0

你使用任何服務器端代碼或嚴格的客戶端的HTML/JavaScript? – ToddBFisher

+0

現在我只使用html和js,但是,我可以使用任何東西。無論什麼效果最好。 –

+0

你想在每個狀態下顯示很多數據嗎?你預計有多少州的普通遊客需要查看? – ToddBFisher

回答

1

您可以加載頁面加載的所有數據,或者通過AJAX,並且只顯示數據的當前狀態,

,或者如果你有一個服務器端的數據庫/數據源從你可以拉取數據也只是有網頁提供的數據特定狀態,由查詢定義/ GET變量,該網址看起來像:

http://mysite.com/myPage.aspx?state=ca

http://mysite.com/myPage.php?state=az

當請求頁面時,您可以讓您的服務器頁面填充當前狀態的正確數據,然後將其發送到客戶端。

一般來說,我會傾向於服務器端解決方案,特別是如果您的訪問者可能只會訪問少數狀態,那麼沒有理由加載所有狀態數據。另一方面,如果每個州的數據非常少,那麼這兩種方式可能沒有太大區別。

編輯

我不知道在網絡上的任何特定的教程,但由於這包括把一些東西放在一起,我會告訴你,這可能是在完成這個有用的主題。

根據你的PHP的知識,或C#或其他選擇的語言爲你的服務器端部分的水平,研究了以下主題:

  1. 閱讀獲取變量
  2. 開關case語句
  3. 添加變量值到HTML的部分,或HTML字符串拼接
  4. 可選各種數據庫的話題,(如果你不想硬編碼 數據到你的代碼)

例如,您的服務器端PHP頁面可能看起來像這樣(未測試的代碼):

<?php 
switch($_GET["state"]) { 
    case "ca": 
    $pageTitle = "California"; 
    $pageContent = "stuff about CA"; 
    break; 
    case "az": 
    $pageTitle = "Arizona"; 
    $pageContent = "stuff about a really hot state"; 
    break; 
    ... 
} 

.... 

echo '<h1>' . $pageTitle . '</h1>' . '<p>' . $pageContent . '</p>'; 

?> 

隨着你會希望當訪問者選擇不同的狀態來處理,而一旦選擇一個狀態載入正確的頁面。有了jQuery,你可以用change() method做些什麼。

在你的HTML身體

宣佈你們下拉使用id =「stateSelectDropDown」列表(選擇輸入),然後在你的JavaScript(未測試的代碼):

<script type="text/javascript"> 
    $(function() { 
    $("#stateSelectDropDown").change(funciton() { 
     window.location = "nameOfThisPage.php?state=" + $(this).val(); 
    }); 
    } 
</script> 

我對任何錯別字或語法錯誤道歉,我希望這可以讓你指向正確的方向。

+0

我明白它是如何工作的。謝謝,在網絡上的任何地方都有例子可以讓我更好地理解。也許是一個教程。 –