【问题标题】:Submit Form for select option.onClick提交表单以选择选项。onClick
【发布时间】:2011-05-25 21:45:07
【问题描述】:

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

【问题讨论】:

  • 您有示例表单吗?然后我们可以给你确切的 jQuery

标签: javascript jquery select submit


【解决方案1】:

click<option> 上:

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

<select>change 上(这可能是您想要的):

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

正如@Guffa 评论的那样:

选项上的click 事件并非在所有浏览器中都有效。例如 Safari 不会触发它。

...所以你肯定想要第二个。

【讨论】:

  • 赞成,但建议仔细检查当用户通过键盘选择选项时点击事件是否触发。您可能需要在 select 上使用 change 事件,而不是在 option 上使用 click 事件。
  • 选项上的click 事件并非在所有浏览器中都有效。例如 Safari 不会触发它。
【解决方案2】:

选项上的click 事件并非在所有浏览器中都有效。使用select 元素的change 事件。

例子:

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

请注意,当您调用submit 方法发布表单时,不会触发表单的submit 事件。

【讨论】:

    【解决方案3】:

    对这些答案的小修正:

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

    【讨论】:

      【解决方案4】:
      $('select').change(function() {
        $('form').submit();
      });
      

      【讨论】:

      • 如果页面上有多个表单怎么办?
      • 没有 HTML 很难给出准确的脚本。
      【解决方案5】:
      $('#option').click(function () {
          // form validation and such then
      
          $('form').submit();
      })
      

      这是我能想到的最简单的方法

      更新:

      对于特定的表单,你可以使用它的名字或id,这真的取决于你的html是什么样子

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

      【讨论】:

      【解决方案6】:

      我发现其他答案很有帮助,但要真正实现基于每个选项的单个操作所需的点击,这正是我所需要的:

      jquery: option plus class and click

      【讨论】:

        猜你喜欢
        • 2017-01-30
        • 1970-01-01
        • 2021-11-24
        • 2016-08-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-27
        • 2013-09-29
        相关资源
        最近更新 更多