2012-06-06 17 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

我明白它是如何工作的。谢谢,在网络上的任何地方都有例子可以让我更好地理解。也许是一个教程。 –