【发布时间】:2019-08-16 10:07:15
【问题描述】:
我有一个使用 select2 的带有多个多选标签的配置表单。使用$('#selectitem').select2('data'); 时选择的选项正确显示,但在提交表单时,只有第一个选择的项目被传递。
sn-p(这是一个jinja2模板,一个Flask应用,带有UiKit3):
<form action="" method="post">
...
{% if param['param_type'] == 'list' %}
<select id="{{'node_%s' % param['node_id']}}" name="{{'node_%s' % param['node_id']}}" multiple='multiple' class="uk-select uk-form-width-large">
{% for p in param['param_value'] %}
<option value='{{ p }}'>{{ p }}</option>
{% endfor %}
</select>
{% else %}
<textarea id="{{'node_%s' % param['node_id']}}" name="{{'node_%s' % param['node_id']}}" class='uk-textarea uk-form-width-large'>{{ param['param_value'] }}</textarea>
{% endif %}
...
<button type='submit' name='submit' class='uk-button-default'>Change Settings</button>
</form>
还有select2 JS:
$(document).ready(function() {
$(".uk-select").select2({closeOnSelect: false});
});
一切都按预期工作,除了当我检查返回值时,只有每个多选中选择的第一项被传递。
我已尝试按照其他地方的建议将选择标签的name 命名为name[],但这没有效果。我在网上搜索了很多解决方案,但都没有找到。
【问题讨论】:
标签: jquery-select2 jquery-select2-4