我想选择选项,我尝试了很多方法,当我从列表中选择一个选项并按下提交后,将selectmenu指向第一个元素,这使得我选择的选项实际上没有被选中。我无法发送用户选择的内容。
<?php
$operatorsAndPackages = $_SESSION['outputOperatorsAndPackages'];
$json_a = json_decode($operatorsAndPackages,true);
?>
<label>Paquet : Opérateur : Montant</label><br/>
<select id="recharge_operator" name="recharge_operator">
<?php foreach ($json_a as $value): ?>
<?php echo $value; ?>
<option value="<?php echo $value[paquet_id] . ":" . $value[code_operateur] . ":" . $value[montant_recharge]; ?>"><?php echo $value[paquet_id] . ":" . $value[code_operateur] . ":" . $value[montant_recharge]; ?></option>
<?php endforeach ?>
</select>
答案 0 :(得分:0)
您需要查看提交的值(我假设这是我的代码示例中的POST操作)并将其与循环中的每个汇编值进行比较,以确定当前是否与提交的内容相同。如果是,则设置selected
元素的option
属性。
以下代码示例的第13行和第16行是最相关的更改。
<?php
$operatorsAndPackages = $_SESSION['outputOperatorsAndPackages'];
$json_a = json_decode($operatorsAndPackages,true);
?>
<label>Paquet : Opérateur : Montant</label><br/>
<select id="recharge_operator" name="recharge_operator">
<?php
foreach ($json_a as $value)
{
$value = $value['paquet_id'] . ":" . $value['code_operateur'] . ":" . $value['montant_recharge'];
$selected = ($value === $_GET['recharge_operator']);
$html_safe_value = htmlentities($value);
?>
<option value="<?php echo $html_safe_value; ?>"<?php if ($selected) {?> selected="selected"<?php } ?> >
<?php echo $html_safe_value; ?>
</option>
<?php
}
?>
</select>
我有一个快速演示,其源代码可在以下网址获得:http://jaaulde.com/test_bed/SO_Lotus91/