每个产品我有1到20个dropbox,每个产品都有相同类名的dropbox(product_id)。
然后我从控制器获得另一个数组,其中包含可以用数量取消产品的信息。
现在我必须附加选项"取消"在那些带有product_id X和quntity Y的下拉列表中(信息X,Y从控制器写入数组)。
离。 product: 1, qty: 3;
- 这意味着我必须添加3个下拉选项"取消"但是客户最多可以订购20个ID为1的产品,我必须将选项取消仅添加到ID为1的3(数量)产品(其他产品必须没有该选项)。
这是我的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>';
此下拉列表位于foreach循环中,迭代次数基于产品质量。
我使用append选项进行此操作,但是当我使用类名时,此代码会附加到具有该id的每个产品(但它应仅添加X次 - x在takingOffProductList-&gt; qty中定义)
<script>
var data = <?php echo json_encode($takingOffProductList); ?>;
$.each(data, function (index, value) {
quantity = $('.' + value.quantity).length;
for( i=1; i<= quantity; i++){
$('.' + value.product_id).append('<option value="3"><?=__('Taking off')?></option>');
}
});
</script>
我希望我已经清楚地解释了我的问题:) 谢谢!
答案 0 :(得分:1)
如果我已正确理解您的问题:
您希望在具有相同类名的下拉列表中附加x倍相同的选项。如果是这样,那么您可以使用x
来获取特定金额=&gt; <?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 } ?>
具有相同名称的元素。
这是解决方案
dt