2016-04-18 4 views
1

In meiner Datenbank habe ich eine Tabelle, wo ich Breite, Höhe und den passenden Preis für diese Breite x Höhe hinzufügen kann.Optionswert in einem anderen div anzeigen

Jetzt habe ich das Stück Code, der die Breite x Höhe in meinem Dropdown-Menü auf der Website zeigt. Aber das einzige, was ich nicht zum arbeiten bekommen kann, wenn ich auf eine Breite x Höhe in meinem Dropdown klicke, dass der passende Preis davon irgendwo anders auf meiner Seite angezeigt wird.

<?php 
     $query = "SELECT * FROM shop_customoptions"; 
     $stmt = $conn->query($query); 

     $dropdown = "<select name='id' id='formaat_selecteren'>"; 
     foreach ($stmt as $row) { 
     $dropdown .= "\r\n<option value='{$row['prijs']}'>{$row['breedte']} x {$row['hoogte']}</option>"; 
     } 
     $dropdown .= "\r\n</select>"; 
     echo $dropdown; 
    ?> 

Kann mir jemand dabei helfen?

Ich fand schon eine Lösung mit javascript:

<script type="text/javascript"> 
      $("#formaat_selecteren").change(function() { 
      if ($.isNumeric($(this).val())) { 
      $(".price").html("&euro; " + $(this).val()); 
      } else { 
      $(".price").empty(); 
      }; 
      }); 
     </script> 

Aber es zeigt nicht den Preis mit ein, und ich eher eine Lösung mit PHP haben, wenn es einen gibt.

+0

Ich würde eher verwenden ' .on ("change", function() {'. Stellen Sie sicher, dass Sie' $ (document) .ready (function() {'code here'}); ' – Jer

Antwort

1

Geben Sie diesem einen Versuch

<script type="text/javascript"> 
    $("#formaat_selecteren").change(function() { 
    if ($.isNumeric($(this).val())) { 
    $(".price").html("&euro; " + String($(this).val()).replace('.',',')); 
    } else { 
    $(".price").empty(); 
    }; 
    }); 
</script> 
+0

Vielen Dank für Ihre Antwort, aber es zeigt sich immer noch der Preis mit einem Punkt anstelle eines Kommas –

+0

Oh meinst du, du willst den Punkt vor dem Cent 123,43 durch ein Komma ersetzen? Von 123,43 zu 123,43? –

+0

Ja, tut mir leid, wenn ich nicht klar war Ich möchte, dass ein Preis wie folgt angezeigt wird: € 70,60 –

0
<script type="text/javascript"> 
     $(document).ready(function() { 
      $("#formaat_selecteren").on("change", function() { 
       if ($.isNumeric($(this).val())) { 
        $(".price").html("$ " + String($(this).val()).replace('.',',')); 
       } else { 
        $(".price").empty(); 
       }; 
      }); 
     }); 
    </script> 

    <span class="price"></span> 
+0

Vielen Dank für Ihre Antwort, aber es zeigt immer noch den Preis mit einem Punkt anstelle eines Kommas. –

+0

Ich habe den Code geändert –

0

Wenn Sie sagen, „Aber es ist nicht der Preis nicht zeigen, mit ein,“ ich vermute, Sie meinen der Preis ist nicht formatiert, zB „2.000 € ". Wenn das stimmt, könntest du so etwas versuchen.

PHP - fügen Sie den formatierten Preis als Datenattribut hinzu. Dies setzt voraus, Sie Ihren Ort in PHP gesetzt haben, und Sie können ein anderes Format wünschen, sehen Sie die Dokumentation: http://php.net/manual/en/function.money-format.php

$dropdown .= "\r\n<option value='{$row['prijs']}' data-price='" . money_format('%.2n', $row['prijs']) . "'>{$row['breedte']} x {$row['hoogte']}</option>"; 

Javascript - greifen und verwenden Sie diese Datenattribut:

$("#formaat_selecteren").change(function() { 
    var formattedPrice = $(this).data('price'); 
    if ($.isNumeric($(this).val())) { 
     $(".price").html(formattedPrice); 
    } else { 
     $(".price").empty(); 
    }; 
}); 
Verwandte Themen