1

这可能看起来微不足道,但我在我正在构建的个人资料表单页面上设置了一个国家和州选择框,这样当您选择美国或加拿大时,州框将显示所选国家的州,否则它会改为显示无适用。我的国家和州在数据库中,我正在从中填充我的选择 - 我想要一种简单而正确的方法来做到这一点 - 我注意到由于某种原因,所有浏览器都不支持禁用选择选项:( - 或者是有任何不错的在线免费片段我可以使用[也许我懒得在这里编码]

我在这里使用 JQuery 进行 javascripting。


已编辑

感谢您的回复-级联下拉菜单似乎可以满足我的需求,但我正在寻找基于 php 的解决方案。

主流网站是如何做到这一点的。因为我不想把它留给用户并以包括美国/加拿大州和非美国/加拿大国家的条目结束。


Ajax 的想法是我的想法,但问题是我正在构建的应用程序表单有一个部分,您可以在其中添加联系地址。它的构建使您可以将多个地址添加到同一个联系人。有一个添加按钮,它只是使用 javascript 函数复制地址输入,所以基本上当您提交表单时,您有如下数据:

_POST['address[]'], _POST['city[]'], _POST['state[]'],_POST['country[]']

事情是在创建时将此操作绑定到州和国家/地区的每个实例。

4

4 回答 4

2

将 onchanged 处理程序附加到 c]Country 下拉列表。在处理程序中,使用 Ajax 检索所选国家/地区的州/省列表,使用该列表填充州/省下拉列表并启用州/省下拉列表。

在静态 HTML 中,禁用州/省下拉菜单。

于 2009-04-15T05:51:23.100 回答
2

如果美国和加拿大都没有从国家选择器中选择,我想我什至不会显示州选择器。这种方法有两个优点,来自所有其他国家的用户不会被无意义的内容所困扰,您不必处理不需要的输入。

现在,我将通过 AJAX 保存国家/地区选择器的值,然后根据需要发送/激活带有响应的附加选择器 div。

编辑后:那你有多灵活?如果您被一些现有代码卡住,那么消除不必要的状态条目的 cron 作业可能是另一种方式。

我的意思是你也可以稍后在检索时处理状态,但我假设还有预先存在的代码创建地址,并且该代码不会检查状态是否有意义......

于 2009-04-15T06:22:24.850 回答
1

看看CascadingDropdown Extender 是否可以满足您的需求。

于 2009-04-15T05:58:15.657 回答
0

我在 ASP.NET 中执行此操作的方式是为国家下拉列表使用缓存的用户控件。此下拉列表附加了一个RequiredFieldValidator,初始值设置为“选择一个”。国家下拉列表可以包含在同一个用户控件中,并且可以基于基于国家下拉列表选择的 AJAX 请求来填充。(正如@tpdi 在他的回答中提到的)

于 2009-04-15T06:05:40.820 回答