我有以下表格。形式有效。 现在我想在选择其中一个选项时自动提交表单。
<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() {
$(this).submit();
});
答案 0 :(得分:7)
您的.change()
功能已正确放置在select
元素上,但这意味着$(this)
与select
元素相同。您无法提交下拉框。怎么样:
$(".autosubmit select").change(function() {
$(this).closest('form').submit();
});
答案 1 :(得分:4)
您正在提交select
而不是表单:
$(".autosubmit select").change(function() {
$(".autosubmit").submit();
});
答案 2 :(得分:1)
略微改编了Votey对使用数据属性和实时观看的回答:
$("form[data-autosubmit] select").live('change', function() {
$(this).closest('form').submit();
});
你应该给他正确答案。