簡體   English   中英

下拉菜單-顯示先前在循環中選擇的

[英]Drop down - show previously selected in loop

我的問題是在while循環中顯示先前選擇的內容。 我找到了一種在非循環設置中執行此操作的方法,但是循環對我來說是個問題。

以下代碼為我提供了一些國家(和國家代碼)的下拉列表:

<?php 

foreach($countries as $key => $value) { ?>

<option value="<?= $value . ' ' . $key ?>" title="<?= htmlspecialchars($value) ?>"><?= htmlspecialchars($value) ?></option>

<?php } ?>

而且效果很好。 但是,假設有人編輯他們的國家/地區,因此,我希望展示以前選擇的國家/地區。 當然,我有一個與先前選擇的特定國家/地區對應的變量...謝謝。

嘗試這個:

<?php 

foreach($countries as $key => $value) { ?>
 <?php if ($previousCountry == $value) ?>
    <option selected value="<?= $value . ' ' . $key ?>" title="<?= htmlspecialchars($value) ?>"><?= htmlspecialchars($value) ?></option>
 <?php else  ?>
    <option value="<?= $value . ' ' . $key ?>" title="<?= htmlspecialchars($value) ?>"><?= htmlspecialchars($value) ?></option>>

<?php } ?>

不確定語法,但是您應該檢測該值是否等於先前的國家/地區,然后將選定的屬性放在上面。

<?php 
$preselected = 'whatever_previous_selected';

foreach($countries as $key => $value) { ?>

<option value="<?php $value; ?>" title="<?= htmlspecialchars($value) ?>" <?php if($preselected == $value) {echo "selected='selected'"; }?>>
<?= htmlspecialchars($value) ?>
</option>

<?php } ?>

當您在編輯中獲取ID時,請使用selected='selected'

<?php 
$id = 1; // In edit you get some value here
foreach($countries as $key => $value) { 
$selected = (isset($id) && $id == $key) ? "selected='selected'" : "";   
?>

<option value="<?= $value . ' ' . $key ?>" title="<?= htmlspecialchars($value) ?>" <?php echo $selected ?>><?= htmlspecialchars($value) ?></option>

<?php } ?>

嘗試這個:

<?php 
$prevSelectedCountry;

foreach($countries as $key => $value) { ?>

<option <?php echo ($prevSelectedCountry == $value . ' ' . $key)?"selected='selected'":"" ?> value="<?= $value . ' ' . $key ?>" title="<?= htmlspecialchars($value) ?>"><?= htmlspecialchars($value) ?></option>

<?php } ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM