2016-04-07 5 views
1

私は$ _POSTに小さな問題があります。 複数選択オプションがあります。各オプションには値と別の属性、データ、選択から2つの値を取得するために使用するデータがあります。

<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> 

私は、値を取得するには、次のコードを使用します。

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

すべてが完璧に動作...私は、データベース内の値を格納しようとする場合を除いて...私は

を使用することができます$ _POSTはフォーム名($ _POST ['formname'])を使用しているので、私が知る限り、
$data = array(
     'val1' => $_POST['theName'], 
     'val2' => $_POST['theName'] 
    ); 

です。 上記のコードを使用すると、val1とval2の両方にval1という値が格納されます。

これらの値を保存する方法は他にありますか?

+2

私は分かりませんが、あなたの属性名で([ 'résult:' $ _POST [fooが] [0]と$ _POST [FOO] [1] ' – Xenofexs

+0

は、非表示の入力にデータを入れてください。 – Barmar

+0

@Barmarが、それはまだ選択と同じである必要はないでしょうか?などの ' ...「 まだ同じフォーム名ではないでしょうか? – Jocker

答えて

2

はフォーム

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

に隠し入力を追加し、隠された入力にデータをコピーします。

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

次に、PHPで$_POST['theNameData']を使用してこれを取得できます。

+0

どうもありがとうございました。アプリ内の他のものについて:)) あなたの助けが大変ありがとうございます。 – Jocker