为什么select2控件不能通过表单提交传递他的名字(作为正常输入)?

时间:2014-08-24 10:52:05

标签: jquery-ui form-submit jquery-select2

我有一个由Select2填充的输入。但是,当提交表单时,我无法访问字段的值(也就是说,Select2字段值没有键)。

如何解决此问题,以便能够在服务器端访问Select2的值?

<form method="POST">
    <!-- this select is absent in POST params -->
    <div id="sel"></div>

    <!-- but this is present -->
    <input type="hidden" name="but_select2_absent" value="val1" />

    <input type="submit" />
</form>

<script type="text/javascript">
    $('#countries_select').select2({
        ajax: {
            data: function (term, page) {
                return {
                    q: term
                };
            },
            dataType: "json",
            url: "/ajax/countries-provider",
            results: function (data) {
                return {results: data};
            }
        }
    });
</script>

1 个答案:

答案 0 :(得分:2)

问题是您没有input而是div

您应该更改代码

<div id="sel"></div>

对于这样的事情:

 <input type="text" id="sel" name="sel" />

否则,您的表单将不包含要发布到服务器的输入。此外,你必须给输入命名,所以它可以在服务器端被捕获(事实上,如果你不给它一个名字,它将不会被发布)。