Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.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
jQuery将元素附加到具有相同类名的X下拉列表中_Jquery - Fatal编程技术网

jQuery将元素附加到具有相同类名的X下拉列表中

jQuery将元素附加到具有相同类名的X下拉列表中,jquery,Jquery,我每个产品有1-20个Dropbox,每个产品都有相同类名(product_id)的Dropbox 然后,我有另一个来自控制器的数组,其中包含可以取消数量的产品的信息 现在,我必须在这些下拉列表中添加选项“cancel”,其中包含product_id X和quantity Y(信息X,Y从控制器写入数组) 例:产品1个,数量3个-这意味着我必须添加3个下拉菜单选项“取消”,但客户最多可以订购20个ID为1的产品,我必须仅添加选项“取消”到3个ID为1的(数量)产品(其他必须没有该选项) 这是我的

我每个产品有1-20个Dropbox,每个产品都有相同类名(product_id)的Dropbox

然后,我有另一个来自控制器的数组,其中包含可以取消数量的产品的信息

现在,我必须在这些下拉列表中添加选项“cancel”,其中包含product_id X和quantity Y(信息X,Y从控制器写入数组)

例:产品1个,数量3个-这意味着我必须添加3个下拉菜单选项“取消”,但客户最多可以订购20个ID为1的产品,我必须仅添加选项“取消”到3个ID为1的(数量)产品(其他必须没有该选项)

这是我的html代码

//Dropboxes
echo '<div class="col-sm-6">' . 
    $this->Form->input( 'task[]', [
        'label' => __('Container action'),
        'options' => $taskAction,
        'default' => '1',
        'id' => 'task',
        'class' => 'form-control select ' . $product_id_calss . ''
    ]) .
'</div>';
//Dropbox
回显“”。
$this->Form->input('task[]'[
“label'=>”(容器操作),
“选项”=>$taskAction,
“默认值”=>“1”,
'id'=>'task',
“类”=>“表单控件选择“$product\U id\U calss”。”
]) .
'';
此下拉列表位于foreach循环中,迭代次数基于产品质量

我使用append选项进行此操作,但当我使用类名时,此代码将附加到具有该id的每个产品(但应仅添加X次-X在takingOffProductList->qty中定义)


var数据=;
$.each(数据、函数(索引、值){
数量=$('..+value.quantity).length;

对于(i=1;i如果我正确理解了你的问题: 您希望在具有相同类名的下拉列表中附加x倍的相同选项。如果是这样,则可以使用
切片(0,您的\u计数)
获取具有相同名称的元素的特定数量=>
x

这是解决办法

<?php if (isset($takingOffProductList)) { ?>
  <script>
    var data = <?php echo json_encode($takingOffProductList); ?>;
    $.each(data, function (index, value) {
      var count = value.quantity;
      $('.' + value.product_id).slice(0, count).append('<option value="3"><?=__('Taking off')?></option>');
    });
  </script>
<?php } ?>

var数据=;
$.each(数据、函数(索引、值){
var count=value.quantity;
$('..+value.product_id).slice(0,count.append('');
});
<?php if (isset($takingOffProductList)) { ?>
  <script>
    var data = <?php echo json_encode($takingOffProductList); ?>;
    $.each(data, function (index, value) {
      var count = value.quantity;
      $('.' + value.product_id).slice(0, count).append('<option value="3"><?=__('Taking off')?></option>');
    });
  </script>
<?php } ?>