【发布时间】:2011-05-25 21:45:07
【问题描述】:
当用户使用 jQuery 单击选项时,我将如何提交表单?我使用 datepicker 文本输入发现了一个类似的问题,但我对 jQuery 不太熟悉,所以我似乎无法将其转换为适用于选择项。
【问题讨论】:
-
您有示例表单吗?然后我们可以给你确切的 jQuery
标签: javascript jquery select submit
当用户使用 jQuery 单击选项时,我将如何提交表单?我使用 datepicker 文本输入发现了一个类似的问题,但我对 jQuery 不太熟悉,所以我似乎无法将其转换为适用于选择项。
【问题讨论】:
标签: javascript jquery select submit
在click 的<option> 上:
$('option').click(function ()
{
$(this).closest('form').submit();
});
在<select> 的change 上(这可能是您想要的):
$('select').change(function ()
{
$(this).closest('form').submit();
});
正如@Guffa 评论的那样:
选项上的
click事件并非在所有浏览器中都有效。例如 Safari 不会触发它。
...所以你肯定想要第二个。
【讨论】:
click 事件并非在所有浏览器中都有效。例如 Safari 不会触发它。
选项上的click 事件并非在所有浏览器中都有效。使用select 元素的change 事件。
例子:
$('select').change(function(){
this.form.submit();
});
请注意,当您调用submit 方法发布表单时,不会触发表单的submit 事件。
【讨论】:
对这些答案的小修正:
$(document).ready(function() {
$('#some_link').click(function() {
$('#form_id').submit();
});
});
【讨论】:
$('select').change(function() {
$('form').submit();
});
【讨论】:
$('#option').click(function () {
// form validation and such then
$('form').submit();
})
这是我能想到的最简单的方法
更新:
对于特定的表单,你可以使用它的名字或id,这真的取决于你的html是什么样子
$('form[name="formnamehere"]').submit();
【讨论】:
我发现其他答案很有帮助,但要真正实现基于每个选项的单个操作所需的点击,这正是我所需要的:
【讨论】: