我正在使用包含所有50个州的选择标记构建网站。我希望能够为所选的每个状态生成一个页面,而不必编写50个单独的页面。关于如何实现这一目标的任何想法?谢谢。
答案 0 :(得分:1)
您可以在页面加载时加载所有数据,也可以通过ajax加载,只显示当前状态的数据,
或者如果你有一个服务器端数据库/数据源来从中提取数据,也可以让页面为特定状态提供数据,由查询/ GET变量定义,URL看起来像:
http://mysite.com/myPage.aspx?state=ca
或
http://mysite.com/myPage.php?state=az
当请求页面时,您可以让服务器页面填充当前状态的正确数据,然后将其发送到客户端。
一般来说,我倾向于服务器端解决方案,特别是如果您的访问者可能只访问少数几个状态,那么就没有理由加载所有状态数据。另一方面,如果每个州的数据非常小,那么无论如何都可能没有太大的不同。
修改强>
我不知道网上有任何具体的教程,但由于这包括将一些内容放在一起,我会告诉你可能有用的主题。
根据您对php,c#或服务器端部件的其他选择语言的了解程度,请研究以下主题:
例如,您的服务器端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>
我为任何拼写错误或语法错误道歉,我希望这能指出你正确的方向。