我有一个怪异的行为,当我在js部分中调用此函数$blockProduct时,会出现此错误missing ) after argument list,但是当我用另一个$blockService更改该函数时,就不再有错误了!

的PHP:

$blockService= $blockObject->getPaymentmethodOptionArray();


返回:

array(5) {
  [0] => array(2) {
    ["value"] => string(1) "1"
    ["label"] => string(2) "CB"
  }
  [1] => array(2) {
    ["value"] => string(1) "3"
    ["label"] => string(4) "Visa"
  }
}




$blockProduct = $blockObject->getProductOptionArray();


返回:

array(3) {
  [0] => array(2) {
    ["value"] => string(1) "1"
    ["label"] => string(14) "Bidon d'huile"
  }
}


我认为问题来自é

JS:

jQuery(InputsWrapper3).append(
                    '<div class="added">' +
                        '<select id="produit_option_'+ FieldCount +'"'+ 'class="select" name="produit_option[]">'+
                        '<?php foreach($blockProduct as $prod):?>'+ /*$blockProduit*/
                            '<option value="<?php echo $prod['value']; ?>" selected><?php echo $prod['label']; ?></option>'+
                        '<?php endforeach; ?>'+
                        '</select>' +
                        '<input type="text" name="produit_input[]" id="produit_field_'+ FieldCount3 +'"/>' +
                        ' <a href="#" class="removeclass">'+deleteIcon+'</a>' +
                    '</div>'
                );

最佳答案

使用php转义字符方法
例如,在您的情况下htmlspecialchars($ prod ['value'],ENT_QUOTES,'UTF-8');

关于javascript - 在参数列表后),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50923952/

10-12 13:02