【发布时间】:2018-07-02 15:54:46
【问题描述】:
我正在寻求指导,让我朝着正确的方向前进。我的教授不知所措。对于 select2 多个字段,我的表单中的 POST 存在问题。我有一个是/否标志,它确定要显示哪个选择 2 选择选项。
下面的 javascript 非常适合显示/隐藏。
$(document).ready(function () {
$('#option').change(function () {
$this = $(this)
$('.select_box').each(function () {
$select = $('select', this);
if ($select.data('id') == $this.val()) {
$(this).show();
$select.show().select2();
} else {
$(this).hide();
$('select', this).hide();
}
});
});
});
我的表单有一个是/否/NA 选项,它规定了使用上面的 javascript 显示的选择 2 框。
<select name ="option" class="form-control " id="option">
<option value="1"> Yes</option>
<option value="0"> No</option>
<option value="2"> N/A</option>
</select>
我的表单 POST 使用通用 POST 选项处理,如下所示:
<form action = "{% url 'final' %}" form method = "POST">
在我的表单中,我有 .select_box div 类。选择 2 选项提供正确的字段并正确填充多选。
<div id = "div_yesselect" class="select_box">
<script src= "{% static '/accounts/option_select2.js' %}" type="text/javascript"></script>
<select data-placeholder="Please select your course(s)?" data-id="1" class="js-example-basic-multiple" multiple="multiple" id = "id_courseselect" value = "{{course.id}}" style="width: 1110px" >
{% for course in courses%}
<option value="{{course.name}}" name = "courseid" >{{course.name}}</option>
{% endfor %}
</select>
当用户点击提交按钮时,POST 将通过。当用户选择多个选项或单个选项时,我可以验证表单中的所有字段,除了 select2 选项。
<button class="btn btn-primary " type="submit">Submit</button>
在我的最终视图中,当尝试在 select2 名称上请求 POST 时,它返回一个空集,但表单中的所有其他内容都返回正确的值。为什么 select2 选项不能正确发布?
courselist = request.POST.getlist('courseid')
【问题讨论】:
标签: javascript django jquery-select2