如何在octobercms中通过id返回Ajax数据请求?

问题描述 投票:0回答:2

由于不确定如何,这必须非常直接。

我正在构建一个包含类别和子类别的前端表单。下面的代码显示选择框中的类别,没有任何问题

Php块

$this['items'] = Cat::where('parent_id',0)->pluck('cat_title', 'id');

显示

<div class="form-group">
  <b><label class="float-left" id="cats" 
for="inputCategory">Category</label></b>
  <select id="category" class="form-control" data-request="onChangeCat" 
 data-request-update="select: '#subcategory'">
    <option selected>Choose...</option>

    {% for key, item in items %}
    <option value={{ key }}> {{ item }}</option>
    {% endfor %}

  </select>
</div>

我有一个数据请求,使用以下Ajax处理程序在下一个选择框中显示子类别。要渲染的部分也是适当的。

   function onChangeCat()
   {
   $this['subs'] = Cat::where('parent_id', '>',0)->pluck('cat_title', 'id');

    }

问题是如何编写Ajax处理程序代码以仅按类别的id显示子类别。上面的代码只显示所有子类别。

php ajax laravel octobercms
2个回答
0
投票
  1. 给你的select一个名字标签<select name="category">..</select>
  2. 使用通过post()函数访问的发布数据查询子类别:例如Cat::where('parent_id', '=', post('category') )->pluck('cat_title', 'id')

0
投票

您需要在类别选择中使用作为参数selected项目的路线,然后该路线将通过子类别过滤以仅具有相关的子类别,您将使用json_encode()获取数据并将结果作为json发回创建选项,然后将它们添加到子类别选择。

该路线将被称为用户更改选择类别的路线。

© www.soinside.com 2019 - 2024. All rights reserved.