2011-05-25 87 views
1

当用户使用jQuery单击选项时,我将如何提交表单?我发现使用datepicker文本输入一个类似的问题,但我不熟悉jQuery,所以我似乎无法将其转换为选择项目的工作。提交表单选择option.onClick

+1

您是否有示例表单?然后,我们可以为您提供确切的jQuery – 2011-05-25 21:48:38

回答

8

<option>click

$('option').click(function() 
{ 
    $(this).closest('form').submit(); 
}); 

在一个<select>change(这可能是你想要的):

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

由于@Guffa评论:

选项上的click事件不适用于所有浏览器。 Safari例如不触发它。

...所以你绝对想要第二个。

+3

Upvoted,但建议在用户通过键盘选择选项时再次检查点击事件是否触发。您可能需要在选项上使用更改事件,而不是选项上的单击事件。 – RwwL 2011-05-25 21:49:39

+0

@RwL:你必须让_just_错过我的编辑。 – 2011-05-25 21:53:10

+0

选项上的“click”事件在所有浏览器中都不起作用。 Safari例如不触发它。 – Guffa 2011-05-25 21:55:50

0
$('#option').click(function() { 
    // form validation and such then 

    $('form').submit(); 
}) 

这是我能想到的

更新最简单的方法:

的具体形式,可以使用其名称或ID,它真的取决于你的HTML看起来像

$('form[name="formnamehere"]').submit(); 
+0

如果页面上有多个表单,该怎么办? – 2011-05-25 21:52:16

+0

看到我编辑的具体形式 – Ibu 2011-05-25 22:00:57

+0

...或者你可以看到[@ Guffa's answer](http://stackoverflow.com/questions/6131346/jquery-submit-form-for-select-option-onclick/6131408#6131408 )或[我的回答](http:// stackoverflow。COM /问题/ 6131346/jQuery的提交形式换选择选项-的onclick/6131386#6131386)。 – 2011-05-25 22:02:40

0
$('select').change(function() { 
    $('form').submit(); 
}); 
+0

如果页面上有多个表单会怎么样? – 2011-05-25 21:49:42

+0

没有HTML,很难给出一个确切的脚本。 – PeeHaa 2011-05-25 21:50:21

3

关于选项的click事件不适用于所有浏览器。使用select元素的change事件。

例子:

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

注意,当你调用submit方法来发布表单形式的submit事件不会被触发。

1

这些答案的小修正:

$(document).ready(function() { 
    $('#some_link').click(function() { 
     $('#form_id').submit(); 
    }); 
});