2010-11-18 9 views
2

ここに私は愚かな質問がある、あなたが私を助けることを願っています。<select>要素にchoosedデータを保存する方法は? HTML

<option selected="selected">Select type...</option> 
<option value="1">Doctor</option> 
<option value="2">Patient</option> 

と私は、このメニューから一つの値を選択してデータを転送するために、その隣送信ボタンを使用する必要があるたびに:

は、私はこのような選択要素とオプションを使ってメニューを作成します。 しかし、ページが更新されるたびに、このメニューが表示されます:タイプを選択してください... 前回選択した値を表示したいのですが、わかりません。

事前に感謝します!

+0

+1 'choosed'の場合。それは私の新しいお気に入りの単語です:) – MrMisterMan

答えて

1

選択したオプションにselected = "selected"を移動します。

PHPでそうすることはあまりにも粗すぎません。リストの下の各値の$ _POST ["selectBox"]のように、選択ボックスの$ _POSTまたは$ _GET(フォームを送信しましたが)の値を確認してください。一致するものが見つかったら、選択された "選択された"文字列をそこにエコーします。値が空の場合は、デフォルト値で出力します。

+0

問題はありません、男! – DampeS8N

0

選択した値をデータベース、XMLまたはテキストファイルに保存するには、選択したサーバー側言語を使用する必要があります。 編集:私はあなたの質問を誤解しているかもしれないと思います。

0

これを行うにはいくつかの方法があります。あなたは$ _SESSIONの値として、その値を保存し、ページのロード時に選択を設定するためにそれを使用することができ提出オン

あなたは変化にクッキーを設定したり、パラメータ(URL?selecttype = 1)を追加し、PHPを使用して、ページのロード時にこれを設定するには、URLを変更するか、JavaScriptを使用して。

ありquirksmode上のJSでのクッキーの活用だ。これを達成するためのhttp://www.quirksmode.org/js/cookies.html

1

最も簡単な方法は、アレイ内の<select>オプションを移入することで、それをループが<option>リストを表示し、選択されたとしてマーク$ _POSTの変数が正しい値と一致している:

<?php $myselect = array(1=>'Doctor', 2=>'Patient'); ?> 
<select name="myselect"> 
    <option>Select type...</option> 
    <?php foreach ($myselect as $value => $label): ?> 
    <option value="<?php echo $value; ?>"<?php if (isset($_POST['myselect']) && $_POST['myselect'] == $value) echo ' selected'; ?>> 
     <?php echo $label; ?> 
    </option> 
    <?php endforeach; ?> 
</select> 
+0

ありがとうございました!!!それは私の問題を解決した – manxing

0

あなたが要求に合致するように選択された1変更する必要があります....

function create_select($properties, $opts) 
{ 
    $out="<select "; 
    foreach ($properties as $propname=>$propval) { 
     $out.=" $propname='$propval'"; 
    } 
    $out.=">\n"; 
    foreach ($opts as $val=>$caption) { 
     $out.="<option value='$value'"; 
     if ($_REQUEST[$properties['name']]==$val) $out.=" SELECTED"; 
     $out.=">$caption</option>\n"; 
    } 
    $out.="</select>"; 
    return $out; 
} 
print create_select(array('name'=>'direction', 
        'id'=>'direction', 
        'class'=>'colourful', 
        'onChange'=>''), 
       array('N'=>'North', 
        'S'=>'South', 
        'E'=>'East', 
        'W'=>'West')); 
1
<select name="myselect"> 
    <?php 
     $myselect = array('Select type...','Doctor','Patient');    
     for($i=0; $i<=2; $i++){ 
      echo "<option value=\"{myselect[$i]}\""; 
      if (isset($_POST['myselect']) && $_POST['myselect'] == $myselect[$i]){ 
      echo 'selected=\"selected\"'; 
      } 
      echo ">{$myselect[$i]}</option>"; 
     } 
    ?> 
</select> 
関連する問題