2017-04-03 10 views
1

私は選択(ドロップダウン)ボックスを持っています。 ボタンをクリックすると、以前に保存した位置をロードしたいと思います。私のコードは:php:ボタンをクリックして選択 "選択"をクリック

<select name="myVariables" style="width:150px"> 
<?php 
foreach ($variables as $var) { 
    echo "<option value=\"" . $var . "\"". $var . " </option>";} 
?> 
</select> 

変数$ previousSelectedがあり、この変数が変更されるたびに変更されます。選択ボックスで現在選択されているオプションを同じ値に変更したいと思います。私は試しました:

echo "<option value=\"" . $var . "\" <?=$previouslySelected==$var ? ' selected=\"selected\"' : '';?\>>". $var . " </option>";} 

しかし、これは動作していないようです。

また、私はthisを試しましたが、これは初めての動作です。

答えて

0

どのようにフォームを送信しますか? GETまたはPOST? POSTとそうでない場合は

$previouslySelected = isset($_GET['myVariables']) ? $_GET['myVariables'] : ''; 

:あなたがこの方法で送信された値を取る必要がありますよりもGETして

$previouslySelected = isset($_POST['myVariables']) ? $_POST['myVariables'] : ''; 

PHP 7であなたも行うことができます。

$previouslySelected = $_POST['myVariables'] ?? ''; 

EDIT:エコーをより読みやすく書きます。

$selected = ($previouslySelected === $var) ? ' selected="selected"' : ''; 
echo '<option value="' . $var . '" ' . $selected . '>' . $var . '</option>'; 
+0

私は以前に選択した設定で、以前の選択に従ってmyVariablesを変更したいですか? – user1418018

+0

あなたのコードでは '$ previousSelected'を設定していません。私があなたのことを理解していれば、あなたは '$ previousSelected'の内容をあなたのドロップダウンに入れたいと思っています。右? –

+0

@ user1418018私のEDITをチェックしてください。無効なHTMLでも問題が発生する可能性があります。 –

関連する問題