Javascript 使用包含多个select表单的页面在select上提交表单

Javascript 使用包含多个select表单的页面在select上提交表单,javascript,Javascript,如果有一个页面上有多个select表单,如下所示,并且表单需要使用js(而不是内联)提交,那么是否有一种简单的方法可以使用一个函数来实现它 <form action="" method="post"> <select name="cars" id="cars"> <option value="">Choose</option> <option value="1">Toyota</option> <

如果有一个页面上有多个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>
如何使用js文件实现这一点。谢谢。

使用jQuery:

$(document).ready(function() {
    $('select').on('change', function() {
        $(this).parents('form').submit();
    });
});
编辑: 根据您的要求,如果我理解正确:
1) 将上述代码按原样放入
submit.js
文件中。

2) 在html/php文件中,通过

引用脚本,您可以只针对选择并提交父表单。
最好是将类添加到这些选择中,但您可以获得所有选择

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

如果您提供的代码段位于一个名为submit.js的文件中,您还可以演示如何调用onchange函数吗。目前,我正在使用类似以下内容的php进行回音:
echo“onchange=”this.form.submit“Choose…”
,这与我一直试图让它工作的方式完全相同,但它似乎没有检测到onchange事件。这就是我正在做的:-
onchange='
。但该文件不会触发。您不能以这种方式加载脚本。:)把它放在开口标签的前面。或者更好,在html页面的
中。你好!谢谢你的回复,我觉得这对我来说太复杂了,所以我选择了更简单的timenomad回复。如果可以的话,我会投票给他们两个都是最好的。@Ajoo-没问题,唯一的区别是这个答案不使用jQuery,这只是因为你没有用jQuery标记你的问题,只使用javascript。
[].slice.call( document.getElementsByTagName('select') ).forEach(function(el) {
    el.addEventListener('change', function() { this.form.submit() });
});