【问题标题】:Javascript select onchange submit formJavascript 选择 onchange 提交表单
【发布时间】:2015-02-19 14:12:14
【问题描述】:

这是我的网站(wordpress 网站): http://orbix.hedgehogworks.net/?page_id=924

我在文本“按位置过滤:”旁边有一个表格。我希望在选择其中一个选项时提交表单 (onChange)。

我试过这个:

<script type='text/javascript'>
 $('#oflocations').change(function()
 {
     $('.searchandfilter').submit();
 });
</script>

还有这个:

<script type='text/javascript'>
$('#oflocations').change(
    function(){
         $(this).closest('form').trigger('submit');
    });
</script>

但这些方法都不起作用。

【问题讨论】:

  • 您是否在 dom 就绪状态下执行此操作?
  • 脚本标签是在select元素之前还是之后?
  • 之后。你可以在网站的代码中看到。
  • 我们希望相关代码在本站,而不是链接到。
  • 好的,下次就知道了

标签: javascript jquery wordpress forms


【解决方案1】:

您需要确保 DOM 已准备好附加事件、操作等。

这就是为什么有$(document).ready() 功能(阅读更多here)。在您尝试更改/选择/附加事件之前确保一切(相关的,而不是图像或广告横幅)都准备就绪:

<script type='text/javascript'>
 $(document).ready(function () {
     $('#oflocations').on('change', function()
     {
         $('.searchandfilter').submit();
     });
 });
</script>

编辑:从.change 更改为.on('change', ..

EDIT 2:根据undefined$(document) 错误,看来您没有正确加载JQuery。确保它已加载到您的页面中。

【讨论】:

  • 我已经尝试使用此代码,但它什么也没做。 ותודה על העזרה。
  • 是的。它说:"$(document).ready(function () {" = "Uncaught TypeError: undefined is not a function (anonymous function)"
  • @user3003106 那时你还没有加载 JQuery。你需要包括它。更新了答案。
  • 是的!这是一个wordpress网站。需要做的是包装您提供的代码: jQuery(function($){ // 您的代码在这里 });
【解决方案2】:

$(document).ready(function () 中执行,因为 DOM 应该首先准备好。

 $(document).ready(function () {
     $('#oflocations').change(function()
     {
         $('.searchandfilter').submit();
     });
 });

【讨论】:

    【解决方案3】:

    DOM 必须首先准备好触发事件:

    $(document).ready(function () {
         $('#oflocations').change(function()
         {
             $('.searchandfilter').submit();
         });
     });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-02
      • 1970-01-01
      • 2017-07-20
      • 2011-02-04
      相关资源
      最近更新 更多