【发布时间】:2012-08-07 08:51:38
【问题描述】:
我有两个选择框:一个是国家,另一个是城市。 当用户选择一个国家/地区时,该国家/地区的相应城市应填充到数据库中的“城市”中。
我是 jquery 和 javascript 的新手,我不知道如何实现这一点。如果有人给我一个执行此功能的示例代码,我们将不胜感激。我不知道,因为我是脚本语言的新手,所以我几乎被困住了。
我在 django 框架中的一种形式中使用它,该框架是用 python 实现的。
提前谢谢你
<!DOCTYPE html>
<html>
<head>
<style>
div { color:red; }
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<select name="country" id="country">
<option value = "india">india</option>
<option value = "USA">USA</option>
<option value = "UK">UK</option>
<option value = "China">China</option>
<option value = "Sweden">Sweden</option>
<option value = "Germany">Germany</option>
</select>
<select name="cities" id="cities">
<option value = ""></option>
</select>
<div></div>
</body>
</html>
【问题讨论】:
-
我已经尝试过一些基本功能,并且我能够获得所选元素选择框“国家/地区”的值,但我不确定下一步该做什么。 $('#country').change(function() { var value = $(this).attr('value'); alert(value); });
-
每个国家会有很多城市吗?我要问的原因是,可能值得在服务器上缓存城市列表并将其返回到视图并使用 Javascript 填充选择框,而不是一直点击数据库。
-
@Mikael :实际上我需要使用数据库,因为我将使用上述逻辑实现另一个复杂的场景。在这种情况下,还会有两个列表框,日期和时间,当您选择日期时,购买时间应动态显示在时间选择框中,然后使用上述两个值执行附加操作,并且 i不应刷新页面或提交表单。
-
好的,所以在更改函数中,您可以对返回给定国家/地区城市的视图进行 AJAX 调用。
-
一个有用的选项可以是 django smart_select 应用程序,它在另一个基础上填充一个下拉列表。并且易于使用,请参阅github.com/digi604/django-smart-selects
标签: javascript jquery python django