【问题标题】:Get an option ''selected'' based on a $_Session value [closed]根据 $_Session 值获取选项“已选择”[关闭]
【发布时间】:2017-07-07 10:14:33
【问题描述】:

我有一个平台,每个用户都可以创建个人资料,并且必须将他的个人信息插入数据库。其中之一是国籍,当用户使用 HTML 下拉列表(包含 100 多个国家/地区)插入正在第一次创建他的个人资料。

<select name="nationality" id="nationality" >
            <option value="0" label="Select a country ... " >Select a country ... </option>

当用户重新登录到他的个人资料时,我希望这个下拉列表将他的国籍选项标记为“已选择”。

国籍的值是一个$_Session,当他登录时所有数据都被选中。

最简单的方法是在这样的每个选项值中使用 php 代码

<option value="GR" label="Greece"   <?php if(($_SESSION['nationality'])=='GR') echo 'selected="selected"'; ?>>Greece</option>

但我无法对 300 多个国家/地区列表中的每个选项都执行此操作。我希望通过 Javascript 完成此操作。 我尝试了很多东西,但我无法解决 提前谢谢你

【问题讨论】:

  • 那么...你的问题是什么?
  • 绝对没有代码支持除“html”之外的所有标签。
  • 如果你确实在使用$_Session,那是不正确的。
  • @ABusyProgrammer 我认为您可能必须提交“答案”才能(希望)得到回复lol。我认为 OP 不太了解 Stack 是如何滚动的。
  • 您的意思是,您有一个纯 html 文件,其中包含 100 多个选择选项,全部写入?您可能希望在 json 或数据库中获取国家/地区列表,然后在 循环 中构建选择。那么选择所选国家/地区将是微不足道的。

标签: javascript php html session selected


【解决方案1】:

如果国家/地区的会话名称与选择列表中国家/地区的值相同,则应该可以。

<script>
var country = '<?php echo $_SESSION["country"]; ?>';
if(country !== ''){
    document.getElementById("nationality").value = country;
}
</script>                       

【讨论】:

  • 像魔术一样工作,非常感谢兄弟! :D :D
  • @Panos92 如果它解决了您的问题,请不要忘记使用此答案附近的复选标记将其标记为“已接受”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
  • 2015-08-17
  • 2014-12-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多