2009-04-15 46 views
1

这可能看起来微不足道,但是我正在建立一个国家和州选择框,以便在选择美国或加拿大时,状态框将显示所选国家的状态它会显示一个没有适用。我的国家和国家在数据库中,我正在填充我的选择 - 我想要一个简单但适当的方式来做到这一点 - 我注意到,由于某些原因禁用选择选项不支持所有浏览器:( - 或是有什么好的免费在线片段,我可以使用[也许我感觉懒得在这里编写本]国家和国家选择框 - 最好的方式来做到这一点?

我使用jQuery的JavaScript编程虽然这里。


编辑

谢谢对于答复 - 级联下拉似乎做我所需要的,但我正在寻找一个基于PHP的解决方案。

主流网站如何完成这个顺便说一句。因为我不想让它留给用户,并且以包括美国/加拿大国家在内的条目结束于非美国/加拿大的国家。


阿贾克斯的想法是什么,我脑子里想的,但事情是,申请表,我的建筑有一个部分,在那里你可以添加联系人的地址。它的建立使得您可以为同一联系人添加多个地址。 Theres一个添加按钮,它只是使用JavaScript函数复制地址输入,所以基本上当您提交表单时,您有类似的数据:

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

事情是在创建时将此操作绑定到状态和国家的每个实例。

回答

2

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

现在我会通过AJAX保存国家选择器的值,然后发送/激活额外的选择器div与响应,如果需要的话。

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

我的意思是,你还可以处理以后检索的状态,但我认为也有它创建地址既有代码,如果状态是有道理的,代码不检查...

2

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

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

+0

这是一个伟大的想法但是如果我想编辑一个已经存在的条目,如何在类似的表单上填充选择的组合? – Ali 2009-04-15 06:13:10

+0

我不确定你在问什么。 – tpdi 2009-04-15 06:31:26

0

我在ASP.NET中这样做的方式是为国家/地区下拉列表使用缓存的用户控件。这个下拉列表有一个RequiredFieldValidator,它的初始值设置为“Select one”。国家下拉列表可以包含在同一个用户控件中,并且可以根据基于选择国家/地区下拉列表的AJAX请求进行填充。 (作为@tpdi在他的答案中提到)