如何在octobercms中按ID返回Ajax数据请求?

时间:2019-03-16 18:12:55

标签: php ajax laravel octobercms

必须不确定如何做到这一点。

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

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显示子类别。上面的代码仅显示所有子类别。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

  1. 给您的select一个名称标签<select name="category">..</select>
  2. 使用通过post()函数可访问的已发布数据查询子类别:例如Cat::where('parent_id', '=', post('category') )->pluck('cat_title', 'id')