在 select 上提交表单,页面上有多个 select 表单

Forms submission on select with a page having multiple select forms

如果有一个页面有多个select表单,并且需要使用js提交表单(但不是内联),那么有没有一种简单的方法可以只使用一个函数来实现它?

<form action="" method="post">
<select name="cars" id="cars">
    <option value="">Choose</option>
    <option value="1">Toyota</option>
    <option value="2">Nissan</option>
</select> 
</form>

<form action="" method="post">
<select name="trucks" id="trucks">
    <option value="">Choose</option>
    <option value="1">TATA</option>
    <option value="2">Nissan</option>
</select> 
</form>

如果我必须排队,那就是

onchange = 'this.form.submit();

如何使用 js 文件执行此操作。谢谢

使用jQuery:

$(document).ready(function() {
    $('select').on('change', function() {
        $(this).parents('form').submit();
    });
});

编辑: 根据您的要求,如果我理解正确的话:
1) 将上面的代码原封不动地放在 submit.js 文件中。
2) 在您的 html/php 文件中通过 <script src="submit.js"></script>

引用脚本

您可以只定位选择并提交父表单。
最好将 类 添加到这些选择中,但您可以只获得所有选择

[].slice.call( document.getElementsByTagName('select') ).forEach(function(el) {
    el.addEventListener('change', function() { this.form.submit() });
});