0

下のこの選択ボックスは、フォームを送信した後、-one-selectionを記憶して強調表示します。しかし、複数にすると、送信後にどのselectionSも強調表示されません。これを達成する方法について何かアイデアはありますか?

前もって感謝します。

<?php
$options_amount = array("0","1","2","3","4","5","6","7","8","9","10+");
$no_way = $_GET['no_way'];
?>

<select class="postform" name="no_way[]" multiple size="5">
<option <?php if ($no_way == 'all') { ?>selected="selected"<?php }?> value="all">Any</option>
<?php
foreach ($options_amount as $option) {
?><option <?php if ($no_way == $option) { ?>selected="selected"<?php }?> value="<?php echo $option; ?>"><?php echo $option; ?></option><?php }?>
</select>
4

3 に答える 3

2

$_GET['no_way']使用する必要のある単一のパラメーターのみを処理し$_GET['no_way[]']in_array($option, $no_way)

于 2012-05-20T14:42:51.770 に答える
0

これが役立つかどうかはわかりませんが、selected代わりに使用してみた可能性はありselected="selected"ますか?

<option <?php if ($no_way == $option) { ?> selected<?php }?> value="<?php echo $option; ?>"><?php echo $option; ?></option>
于 2012-05-20T14:42:42.027 に答える
0

これは私のために働きます:

<?php
$options_amount = array("0","1","2","3","4","5","6","7","8","9","10+");
$no_way = $_GET['no_way'];
?>
<select class="postform" name="no_way[]" multiple size="5">
<option <?php if (in_array("all",$no_way)) { ?>selected="selected"<?php }?> value="all">Any</option>
<?php
foreach ($options_amount as $option) {
?><option <?php if (in_array($option,$no_way)) { ?>selected="selected"<?php }?> value="<?php echo $option; ?>"><?php echo $option; ?></option><?php }?>
</select>
于 2012-05-20T14:46:45.287 に答える