2016-07-06 6 views
-1

Ich mache ein Formular mit Kontrollkästchen und Radiobuttons Ich benutze den Wert als Preis, die ich mit einem Skript berechnen, so bekomme ich den Gesamtpreis der ausgewählten Kontrollkästchen und Radiobuttons. der Wert und die IDPHP bekommen Formulardaten mit ID-Attribut

<script> 
function calcscore() { 
    score = 0; 
    $(".calc:checked").each(function() { 
     score += Number($(this).val()); 
    }); 
    $("#price").text(score.toFixed(2)); 
    $("#sum").val(score) 
} 
$().ready(function() { 
    $(".calc").change(function() { 
     calcscore() 
    }); 
}); 
</script> 

<input type="radio" id="1" value="40" class= "calc" name = "780143050"> Gezichtsbehandeling (incl.)<br> 
<input type="radio" id="2" value="40" class = "calc" name = "780143050"> Massage<br> 
<input type="radio" id="3" value="75" class = "calc" name = "780143050"> beide 
<span id="output"></span><input type="hidden" name="sum" id="sum" value="0"> 
       <p>Totaal extra's : € <span id="price">0</span> 

Ich habe folgende PHP

test.php

<?php 
    echo("keuze : " . $_POST['780143050'] . "<br />\n"); 
?> 

ich in meinem PHP-Skript. Wie kann ich die ID des ausgewählten Radiobuttons wiedergeben?

+0

einreichen Sie dieses Formular? –

+0

Ja, es ist ein Ausschnitt aus dem Code Ich bekomme alle Werte, aber ich bekomme nicht die Werte der ID – Richard

+1

"Wert" ist das Feld eingereicht. –

Antwort

1

Es gibt zwei Möglichkeiten, dies zu tun:

  1. Änderung der Wert von value auf den Wert des id
  2. fügen Sie den Wert id dem value
  3. hinzu

html:

<input type="radio" id="2" value="40|2" class = "calc" name = "780143050"> Massage<br> 

js:

<script> 
function calcscore() { 
    score = 0; 
    $(".calc:checked").each(function() { 
     score += Number($(this).val().split('|')[0]); 
    }); 
    $("#price").text(score.toFixed(2)); 
    $("#sum").val(score) 
} 
$().ready(function() { 
    $(".calc").change(function() { 
     calcscore() 
    }); 
}); 

php

<?php 
    echo("keuze : " . split('|',$_POST['780143050'])[1] . "<br />\n"); 
?> 
+1

ok, dieses funktioniert perfekt, danke für diese Idee und beheben – Richard

0

Siehe unten stehenden Code. Ausgewählte Optionsfeld ID empfangen werden als $_POST['selID']:

$('form').submit(function(){ 
 
    var selID = $('form input[type=radio]:selected').attr('id'); 
 
    $(this).append('<input type="hidden" name="selID" value="'+selID+'" />'); 
 
});