您的位置:首页 > Web前端 > JQuery

DJANGO结合jQuery cxSelect 作二级菜单过滤

2016-01-21 14:21 609 查看
EN,到这个阶段,基本功能算是完成了。

使用了jQuery cxSelect这个插件。
http://code.ciaoca.com/jquery/cxselect/
相关代码如下:

html:

<form class="uk-form" name="filter-form">
<div id="element_id">
项目:<select class="Site_name" name="Site_name"></select>
组件:<select class="App_name" name="App_name"></select>
  <a class="filter_btn uk-button" name="filter_btn">过滤</a>
</div>
</form>


JS:

$('#element_id').cxSelect({
url: '/version/filter_app/',
selects: ['Site_name', 'App_name'],
jsonName: 'name',
jsonSub: 'value',
nodata: 'none'
});


views.py

def filterAppFromSite(request):
app_list = []
site_names = S.objects.all()
for site_name in site_names:
app_names = site_name.app_name.all()
app_dict = {}
a = []
for app_name in app_names:
c = {}
c['name'] = str(app_name.name)
a.append(c)
app_dict['name'] = str(site_name.name)
app_dict['value'] = a
app_list.append(app_dict)
return render_to_json_response(app_list)


实现:



附一段通过MANYTOMANY检索语法:

从发布单倒追组件到项目,然后用ID IN功能检索多少条发布记录:

app_id_list = []
site = S.objects.get(name=self.kwargs['site_name'])
for app in site.app_name.all():
app_id_list.append(app.id)

return DV.objects.filter(app_name_id__in=app_id_list)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: