Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在cakePHP中使用AJAX实现多维数组的增量索引_Php_Jquery_Arrays_Ajax_Cakephp - Fatal编程技术网

在cakePHP中使用AJAX实现多维数组的增量索引

在cakePHP中使用AJAX实现多维数组的增量索引,php,jquery,arrays,ajax,cakephp,Php,Jquery,Arrays,Ajax,Cakephp,首先,如果我的问题一点也不清楚,我很抱歉 因此,我在cakePHP中有一个带有事务模块的应用程序。该模块(至少)有3个链式下拉列表,如供应商>产品>包装。用户选择供应商,然后在“产品选择”框中仅显示所选供应商的产品。包装也是如此,选择产品时会显示选项 简单地说,我使用引用来做第一个链。它起作用了。但是当进入软件包时,它不像第一个lol那么容易。为什么?因为第二种形式的Products和Packages元素具有比第一种形式更复杂的维度数组。在第一种形式(Supplier元素)中,我使用$this-

首先,如果我的问题一点也不清楚,我很抱歉

因此,我在cakePHP中有一个带有事务模块的应用程序。该模块(至少)有3个链式下拉列表,如供应商>产品>包装。用户选择供应商,然后在“产品选择”框中仅显示所选供应商的产品。包装也是如此,选择产品时会显示选项

简单地说,我使用引用来做第一个链。它起作用了。但是当进入软件包时,它不像第一个lol那么容易。为什么?因为第二种形式的Products和Packages元素具有比第一种形式更复杂的维度数组。在第一种形式(Supplier元素)中,我使用
$this->request->data['Order]['Supplier\u id']

但在第二种形式中,将从Ajax传递的数据,如
$this->request->data['OrderDetail'][$index]['product\u 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>
已编辑

抱歉,忘记发布我的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代码吗?对不起,忘了。已经发布了:)
<?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)
            )
        ) 
));