使用cakePHP

时间:2015-07-08 10:00:39

标签: php jquery arrays ajax cakephp

首先抱歉,如果我的问题根本不清楚。

所以,我在cakePHP中有一个带有Transaction模块的应用程序。该模块(至少)有3个链式下拉列表,例如此供应商>产品>包。用户选择供应商,然后在产品选择框中显示结果仅来自该选定供应商的产品。所以包装,选择产品时会显示选项。

简单地说,我使用this引用来做第一个链。有用。但是当进入Packages时,它并不容易,因为第一个大声笑。为什么?因为第二种形式,其中Products和Packages元素从一开始就具有更复杂的维数组。在第一种形式(供应商元素)中,我使用$this->request->data['Order]['supplier_id']

获取其数据

但是在第二种形式中,将从Ajax传递的数据如$this->request->data['OrderDetail'][$index]['product_id'],其中第二种形式的索引具有增量编号。

示例:

<select id="Product0" name=data[OrderDetail][0][product_id]></select>

<select id="Product1" name=data[OrderDetail][1][product_id]></select>

<select id="Product2" name=data[OrderDetail][2][product_id]></select>

然后在我的控制器中,

public function functionName() {
    $product_id['index'] = $this->request->data['OrderDetail']['index']['product_id'];
}

EDITED

抱歉,忘了发布我的ajax代码。

<?php
$this->Js->get('#OrderSupplierId')->event('change', 
    $this->Js->request(array(
        'controller'=>'products',
        'action'=>'gpbs'),
    array(
        'update'=>'.OrderDetailProduct',
        'async' => true,
        'method' => 'post',
        'dataExpression'=>true,
        'data'=> $this->Js->serializeForm(
            array(
                'isForm' => true,
                'inline' => true)
            )
        ) 
));

如何在AJAX中传递动态索引? 因此,当它发送到控制器时,来自每个“表单元素”的数据将匹配。 谢谢,对不起我的坏语言(和描述)

0 个答案:

没有答案