javascript - 如何选择框值可以在 Django 中更改?

标签 javascript jquery django django-views

我有两个选择框,一个是country,另一个是state。这两个值都可以访问数据库。我选择了国家/地区选择框,然后自动更改了与该国家/地区选择框相关的另一个选择框值更改。

示例:我选择了国家/地区印度,然后自动获取另一个选择框的值状态。我正在使用 ajax 获取值。

def constituency1(request):
    country= Loksabha.objects.values('country_name').distinct('country_name')
    terms = Loksabha.objects.values('lok_sabha').distinct('lok_sabha')
    states=Loksabha.objects.values('state_name').distinct('state_name')
    if 'p1' in request.GET and request.GET['p1']:
        p1 = request.GET['p1']
        states=Loksabha.objects.values('state_name').distinct('state_name').filter(country_name='p1')

    if 'p2' in request.GET and request.GET['p2']:
        p2 = request.GET['p2']          
        state_filter = Loksabha.objects.filter(state_name=p1,constituency_name=p2)

最佳答案

您需要使用一点 AJAX/JQuery。

#models.py
class Country(models.Model):
     country = models.CharField(max_length=20)

class State(models.Model):
    state = models.Charfield(max_length=20)
    country = models.ForeignKey(state)

#views.py
def filter (request):
    try:
        kwargs = {smart_str('country'): request.GET['q']}
    except KeyError:
        raise Http404
    qs = State.objects.filter(**kwargs).values('pk', 'name')
    response = HttpResponse(
        content=dumps(list(qs)),
        mimetype='application/json'
    )
    return response



#urls.py
urlpatterns = patterns('',
         url(r'^locations/filter/state-by-country/$', 'filter',  name='state_filter')
        ...
)

将此添加到您的模板

//JQuery chained select plugin
$(function() {
  $('#id_state').chainedSelect({
    parent: '#id_country',
    url: 'locations/filter/find-by-country',
    value: 'id',
    label: 'name'
  });
});

关于javascript - 如何选择框值可以在 Django 中更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22301896/

相关文章:

python - 如何在 Django 的 views.py 中引发 ValidationError(或执行类似操作)?

javascript - 不断丢失 session 状态 ASP.NET

javascript - 更新 HTML5 离线应用程序缓存的正确方法

javascript - 为什么这段代码在 jquery/javascript 中捕获/阻止 CTRL+S 不起作用?

python - 将 login_required 与 user_passes_test 组合时,Django 'User' 对象没有属性 'user'

django - Django + Django Rest Framework + mod_wsgi 内存泄漏

JavaScript 确认()不工作

javascript - J2EE Web 应用程序性能调优

没有 Ajax 的 jQuery 常规帖子

jquery - MongoDB 相当于 SQL "TOP"