0

我有一个网站,收集来自各个国家和州的注册会员的信息。在我的搜索表单上,我有 3 个字段;Country,StateSex.

我在搜索中列出了世界上所有的国家(作为下拉列表),但状态字段为空。我想要的是,一旦访问者选择了一个国家,我只想将注册会员在我的数据库中的那个国家的状态拉到状态字段中,而不是那个国家的所有状态。

例如,来自美国的 3 名成员分别来自纽约、新泽西和乔治亚州。在国家下拉列表中选择美国时,只有这 3 个州应出现在州下方,而不是美国的 50 个州。

4

2 回答 2

0

您可以使用 php 或您正在使用的任何服务器端语言从数据库中提取注册成员的状态。然后,您可以使用 AJAX 以 xml 或 JSON 对象的形式获取状态。您可以使用对象的成员来填充下拉列表。

获取注册用户状态的示例 sql 查询字符串:Select state From user_details WHERE country = 'USA'. 这应该返回状态(可能在数组中);

将由 AJAX 调用检索的示例 PHP 代码:$reply = {states: [NJ, NY, AZ]}. 解析上述回复的示例 JS 代码:var reply = JSON.parse(serverReply); var states = reply.states; . 我希望这有帮助

于 2012-11-20T15:36:30.517 回答
0

你需要做一个脚本,例如,用 php(或任何服务器端语言)来执行查询,它看起来像:

$countryId = $_POST['countryId'];

$sql = "SELECT fields FROM states WHERE countryId = $countryId";
$result = .... etc;

例如返回一个 json 对象到主页。

您应该从主页向 php 页面发出 Ajax 请求,根据您选择的选项获取返回的 json 对象并填充下一个字段。

您至少可以像我一样看一下 jQuery 框架,发现比使用原始 javascript 更容易。

于 2012-11-20T15:39:04.030 回答