select2 - 在 select 提交表格

select2 - submit form on select

这可能是一个简单的问题,但我对 JavaScript 还不是很坚定。

我想要一个使用 select2 自动完成的搜索表单。

当用户在 select2 下拉框中选择一个结果时,我想立即提交搜索表单,这样我就不需要表单按钮了。

我找到了 select2:select 事件处理程序 - 但我没有让它工作。有帮助吗?

我的 select2 工作正常,如果我包含一个按钮,我可以提交表单并接收选定的对象 ID:

<form action="" method="get" id="project-search">
        <select class="form-control"
                data-autocomplete-light-function="select2"
                data-autocomplete-light-url="/output/project-autocomplete/"
                data-placeholder="Suche nach Projektnr. oder Projektleiter"
                id="id_projekt" name="projekt">
            <option value="" selected="selected">----------</option>
        </select>
</form>

javascript 代码段似乎不起作用:

<script type="text/javascript">
    $(document).ready(function() {
    $eventSelect.on("select2:select", function() {
       console.log("select2:select");
       $(this).parents('form').submit();
    });
});
</script>

编辑:我在 chrome 控制台中收到此错误消息:

Uncaught ReferenceError: $eventSelect is not defined

谢谢!

顺便说一句,我正在使用带有 django-autocomplete-light 的 django 作为后端。

https://api.jquery.com/change/

Jquery 有一个函数可以检测 select/checkboxes 上的变化。尝试:

$('#id_projekt').change(function(){ $('#project-search').submit(); });