10月CMS前端ajax过滤问题未捕获的TypeError:$ form.request不是函数

问题描述

我正在尝试在前端使用Ajax的10月cms项目中添加价格过滤器。每当我的js代码运行时,我都会收到一个错误((未捕获的TypeError:$ form.request不是一个函数)。

$(function () {

$('.min_gp').on('change',function(){
    var $form = $(this).closest('form');
    $form.request();
});

});

我通过观看youtube上的教程来做到这一点。我不明白为什么会收到此错误以及如何解决错误。 `

解决方法

AFAIK(据我所知)没有称为.request()的jQuery函数。在您的代码中,您正在$form对象上调用jQuery API。您要在值更改时提交表单吗?如果是这样,请尝试以下操作:

$('.min_gp').on('change',function(){
    var $form = $(this).closest('form');
    $form.submit();
});

(有关表单函数的jQuery文档供参考:https://api.jquery.com/category/forms/

但是,有一个.request()函数专用于OctoberCMS AJAX API,但调用方式有所不同,需要您了解AJAX处理程序:

$('form').request('onCalculate',{
    update: {calcresult: '.result'}
})

(请参阅:https://octobercms.com/docs/ajax/javascript-api

-

作为参考,您还可以通过在表单元素的onchange属性中传递函数的元素提交表单:

<select class="form-control price-filter-dropdown min-gp"
     onchange="$(this).closest('form').submit()">

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...