[英]select dropdown value based on session variable
我有一個php表單,可將數據提交到另一個php進行驗證。 如果任何字段留為空白,驗證器php會使用會話變量將消息連同所有預填充變量一起發送回原始php表單,從而使用戶不必再次填充它們。
我可以使用這些會話變量再次像這樣填寫文本框
value="<?php echo $_SESSION['fname'] ?>"
但是如何填充下拉列表,單選按鈕和復選框呢?
謝謝
對於選擇,復選框或單選框,您需要檢查值是否匹配。 就像是:
<select name="fname">
<option value="1" <?php if($_SESSION['fname'] == 1) echo 'selected'; ?>>1</option>
<option value="2" <?php if($_SESSION['fname'] == 2) echo 'selected'; ?>>2</option>
</select>
如果要遍歷選項字段的值,則會更容易:
<select name="fname">
<?php foreach($array AS $key => $value) { ?>
<option value="<?php echo $value; ?>" <?php if($_SESSION['fname'] == $value) echo 'selected'; ?>><?php echo $value; ?></option>
<?php } ?>
</select>
<select>
元素的選擇的<option>
不是由其value=
屬性確定的。 為了標記一個選項,必須在<option>
元素上設置selected
屬性,如下所示:
<select>
<option>1</option>
<option selected>2</option>
<option>3</option>
</select>
為了以編程方式執行此操作,您需要遍歷選項,並手動測試正確的選項,然后將selected
添加到該選項中。
有一個使用JQuery的簡單得多的方法。 您可以使用.val()設置Selects,以便充分利用它。
<script type="text/javascript">
$("#fname").val("<?php echo $_SESSION['fname']; ?>");
</script>
不要忘記將select的ID以及名稱設置為fname 。
...注意,語句末尾的雙引號放錯了位置,應為:
<script>
$("#fname").val("<?php echo $_SESSION['fname'] ?>");
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.