我使用的是POST表单,但我不确定这是否是最佳方式。
我有这个:
<form name='main' method="POST" action={{submit}}>
<select class='form-control' size=10 id="test" name='test' multiple>
<option>Test1</option>
<option>Test2</option>
<option>Test3</option>
<option>Test4</option>
</select>
<input type="submit"/>
</form>
如果我使用request.POST.getlist(&#39; test&#39;),我只会获得突出显示的选项。但是,我想要选择标记中的所有选项。
离。
def myapp_submit(request):
#This method doesn't exist
print request.POST.getalloptions
无论是否选中,都会给我所有选项。
['Test','Test2','Test3','Test4']
我使用Jquery使用两个选择列表,您可以从一个列表中选择选项并将其放入另一个列表中。当用户提交时,我想知道每个选择列表中保留哪些选项。
Adam Brenecki说这种方法永远不会存在。我能做的是使用JQuery迭代我的所有列表并更改所选的所有选项。但是,我可以帮忙解决这个问题吗?
//How can I change all options to selected
$('#test').ChangeOptionToSelected;
答案 0 :(得分:1)
不存在这样的选项,因为该数据首先没有发送到服务器;只有选定的值是。
由于您已经在客户端使用JavaScript,因此您可以通过编程方式填充隐藏的表单字段,或者以其他方式将所需的值发送到服务器。
要考虑的另一件事是,您希望有两个列表,一个&#39;选择&#39;并且&#39;未选中&#39;一个可视化,但概念您正在做的是从列表中选择多个项目,这就是单个<select multiple />
的用途。
最好让底层表单字段为正常工作的单个<select multiple />
,然后在JavaScript中构建所需的UI,从视图中隐藏原始表单字段并更新它。这样,关闭JavaScript的访问者仍然可以获得有用的功能,并且可能更容易使其可访问。