2016-04-07 10 views
1

Ich habe ein kleines Problem mit $ _POST. Ich habe eine Auswahl mit mehreren Optionen. In jeder Option habe ich einen Wert und ein anderes Attribut, Daten, Daten, die ich verwende, um 2 Werte aus der Auswahl zu bekommen.

<select id="theId" name="theName" onchange="changeSelect();"> 
    <option name="0" value="0.00" data="0.00"<?php if($val==0.00)echo 'selected=""';?>>0</option> 
    <option name="1" value="10" data="15" <?php if($val==10)echo 'selected=""';?>>1</option> 
    <option name="2" value="15" data="20" <?php if($val==15)echo 'selected=""';?>>2</option> 
    <option name="3" value="20" data="30" <?php if($val==20)echo 'selected=""';?>>3</option> 
</select> 

ich dann den folgenden Code verwenden, um die Werte zu erhalten:

var val1 = parseFloat($("select#theId option:selected").attr('value')); 
var val2 = parseFloat($("select#theId option:selected").attr('data-us')); 

Alles funktioniert perfekt ... außer wenn ich versuche, in der Datenbank, um die Werte zu speichern ... Ich kann nur

verwenden
$data = array(
     'val1' => $_POST['theName'], 
     'val2' => $_POST['theName'] 
    ); 

so weit ich weiß, da $ _POST den Formularnamen ($ _POST ['Formname']) verwendet. Wenn ich den obigen Code verwende, speichert es den Wert von val1 für beide val1 UND val2.

Gibt es eine andere Möglichkeit, diese Werte zu speichern?

+2

Ich bin mir nicht sicher, zu verstehen, aber versuchen Sie mit [] in Ihrem Attributnamen (wie '' das Ergebnis: ' $ _POST [foo] [0] und $ _POST [foo] [1] ' – Xenofexs

+0

Setzen sie die Daten in einer versteckten Eingang. – Barmar

+0

@Barmar aber würde es nicht noch in der gleichen sein wählen? wie ' ' ' Wäre es nicht immer noch der gleiche Formularname? – Jocker

Antwort

2

einen versteckten Eingang zum Formular hinzufügen

<input type="hidden" name="theNameData" id="theNameData"> 

und die Daten an den verborgenen Eingang kopieren.

$("#theNameData").val(val2); 

Dann können Sie $_POST['theNameData'] in PHP verwenden, um dies zu bekommen.

+0

Vielen Dank.Wie habe ich nicht darüber nachgedacht? Ich benutze sogar dies für andere Dinge in der App :)) Ihre Hilfe wird sehr geschätzt. – Jocker