使用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();
});