Показывает цену на клик input type = "radio"? - PullRequest
1 голос
/ 07 марта 2020

[Список продуктов с интерактивными входами] [1] Я создаю систему интернет-магазина, и я хотел бы видеть на странице продукта, что, если пользователь выбирает размер продукта, будет отображаться цена выбранного размера. .

Когда я нажимаю на него, работает только последний отображаемый ввод.

Перечень продуктов с размерами ввода: https://i.stack.imgur.com/Wo6Oq.png

    <?php
    $count = 0;
    foreach($original_array as $order_list){
        $count++;
        if($order_list['aantal'] == 0 || $order_list['aantal'] == ''){
            $disableValue = 'disable';
        }
        if($count == 2){
            $checked = 'checked=""';
        }
        ?>
        <div class="sc-item">
            <input type="radio" name="variatie_maat[]" value="<?=$order_list['maat'];?>" onclick="myFunction();" id="<?=$order_list['maat'];?>-maat" <?=$disableValue;?> <?=$checked;?>>
            <label for="<?=$order_list['maat'];?>-maat"><?=$order_list['maat'];?></label>
            <input style="display:none;" value="<?=$order_list['prijs'];?>" id="prijs-<?=$order_list['prijs'];?>" name="variatie_prijs[]">
        </div>
        <?php

        }
    ?>
<script>
// Here the value is stored in new variable x  
      function myFunction() { 
          var x =  
              document.getElementById("prijs-<?=$order_list['prijs'];?>").value; 

          document.getElementById( 
            "price").innerHTML = x; 
      } 

</script>
'''

1 Ответ

0 голосов
/ 07 марта 2020

Попробуйте это.

<?php
$count = 0;
foreach($original_array as $order_list){
    $count++;
    if($order_list['aantal'] == 0 || $order_list['aantal'] == ''){
        $disableValue = 'disable';
    }
    if($count == 2){
        $checked = 'checked=""';
    }
    ?>
    <div class="sc-item">
        <input type="radio" name="variatie_maat[]" value="<?=$order_list['maat'];?>" onclick="myFunction('<?=$order_list['prijs'];?>');" id="<?=$order_list['maat'];?>-maat" <?=$disableValue;?> <?=$checked;?>>
        <label for="<?=$order_list['maat'];?>-maat"><?=$order_list['maat'];?></label>
        <input style="display:none;" value="<?=$order_list['prijs'];?>" id="prijs-<?=$order_list['prijs'];?>" name="variatie_prijs[]">
    </div>
    <?php

    }
?>
<script>
function myFunction(id) {
  var x = document.getElementById("prijs-" + id).value;
  document.getElementById("price").innerHTML = x;
}
</script>
...