使用CakePHP 3中的列表更改更新相关列表

时间:2016-07-19 15:05:59

标签: ajax cakephp model-associations cakephp-3.2

我有两个表subcategoriescategories,其中subcategories有多个products关系。

我有另一张表categoriessubcategoriesadd相关。

products的{​​{1}}方法中,我想从列表中选择类别,然后选择与所选特定类别相关联的子类别。

echo $this->Form->input('category_id', ['options' => $categories, 'empty' => true]);
echo $this->Form->input('subcategory_id', ['options' => $subcategories]);
echo $this->Form->input('product_type_id', ['options' => $productTypes]);
echo $this->Form->input('title');

由于js中没有CakePHP 3帮助器。我怎么能用Ajax做到这一点。

我也是CakePHP和Ajax的新手。目前,这会在列表中显示所有subcategories

1 个答案:

答案 0 :(得分:1)

我让它像这样工作,并且工作正常。

查看文件包含

webcamPanel

<?= $this->Form->input('categories', ['options' => $categories, 'empty' => 'Select', 'id' => 'categories']) ?> <?= $this->Form->input('subcategory_id', ['type' => 'select', 'id' => 'subcategories]) ?> 文件包含

myAjax.js
$('#categories').change(function () { var dataSet = {category_id: $(this).val()}; var requestUrl = appBaseUrl+'products/ajax-subcategories'; $.ajax({ type: "POST", url: requestUrl, data: dataSet, success: function(result) { $('#subcategories').html(result); }, error: function(jqXHR, textStatus, errorThrown) { console.log(textStatus, errorThrown); } }); });

中的

ajaxSubcategories操作

ProductsController.php

希望这可能有助于某人。