2017-04-03 90 views
1

我有一個選擇(下拉框)。在每個按鈕點擊,我想它加載以前保存的位置。我的代碼是:php:編輯選中「選擇」按鈕點擊

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

我有一個變量$ previouslySelected,並且每次點擊該按鈕時,該變量都可以改變。我還想將選擇框中的當前選定選項更改爲相同的值。我試過:

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

但這似乎不起作用。我試過this,但它只在第一次使用。

回答

0

你如何提交表格。使用GET還是POST?

用GET,比你必須提交的值以這樣的方式

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

否則用POST:

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

在PHP 7,你也可以這樣做:

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

編輯:寫你的回聲更具可讀性。

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

嗯,我設置之前選擇,並希望根據先前選擇,而不是其他方式改變我的變量? – user1418018

+0

我在你的代碼中看不到你正在設置任何'$ previouslySelected'。如果我理解你的話,你想用'$ previouslySelected'的內容填充你的下拉菜單。對? –

+0

@ user1418018檢查我的編輯,也許你只有一個錯字。無效的HTML也可能導致您的問題。 –