使用jquery自动提交表单

使用jquery自动提交表单,jquery,Jquery,我有以下表格。这种形式是有效的。 现在,我想在选择其中一个选项时自动提交表单 <div id='weeksubmit'><!-- I don't need this div --> <form action="http://localhost/myapplication/index.php/courses/admin/index" method="post" class="autosubmit"> <label for='weekid'>Selec

我有以下表格。这种形式是有效的。 现在,我想在选择其中一个选项时自动提交表单

<div id='weeksubmit'><!-- I don't need this div -->
<form action="http://localhost/myapplication/index.php/courses/admin/index" method="post" class="autosubmit">
<label for='weekid'>Select Week</label>
<select name="weekid">
<option value="1">Uke 40 (04/10 - 10/10)</option>
<option value="2" selected="selected">Uke 41 (11/10 - 17/10)</option>
<option value="3">Uke 42 (18/10 - 24/10)</option>
<option value="4">Uke 43 (25/10 - 31/10)</option>
</select>
<input type="submit" name="submit" value="Change Week"  /></form>
</div>

您提交的是
选择
,而不是表单:

$(".autosubmit select").change(function() {
   $(".autosubmit").submit();
});
您的
.change()
函数已正确放置在
select
元素上,但这意味着
$(此)
select
元素相同。您不能提交下拉框。那么:

$(".autosubmit select").change(function() {
    $(this).closest('form').submit();
});

对Votey的回答稍加修改,以使用数据属性和现场观看:

$("form[data-autosubmit] select").live('change', function() {
    $(this).closest('form').submit();
});

不过,你应该给他正确的答案。

它仍然没有提交。如果我单击submit,它就会工作。但是自动提交。有什么问题吗?我使用PHP动态生成输出,但不是Ajax。是否需要添加live()?您需要在表单(更具体地说是目标
选择
框)已在页面上时附加
.change
处理程序。您可以在将表单添加到页面后定义事件处理程序,也可以像您所说的那样,使用
。live()
。live()
现在已被弃用,取而代之的是
。附加到
$(文档)
的on()
或其他已知始终存在的元素:
$("form[data-autosubmit] select").live('change', function() {
    $(this).closest('form').submit();
});