【问题标题】:How to select html dropdown based on query return如何根据查询返回选择html下拉列表
【发布时间】:2016-05-10 16:22:50
【问题描述】:

我有一个 html 下拉列表(纯 html)。我需要根据查询结果选择值。像这样:

<select name="state" class="formField">
    <option value="">Select a State</option>
    <option value="AK">Alaska</option>
    <option value="AZ">Arizona</option>
    <option value="AR">Arkansas</option>    
    <option value="CA">California</option>  
    <option value="CO">Colorado</option>    
    <option value="CT">Connecticut</option> 
    <option value="DE">Delaware</option>    
    <option value="DC">District Of Columbia</option>
</select>

因此,如果对某个用户的查询返回状态为“CT”,我需要在下拉列表中选择的值是 CT,除了检查每一行的 if 语句之外,还有其他方法吗?

【问题讨论】:

  • 请分享您的编程语言场景,以便我们可以帮助您在不使用 if 语句的情况下选择项目。
  • 所以我从 ColdFusion 查询中获取值。 选择值 AL 等等。
  • 我建议您用这些信息来补充您的问题,以增加您要回答的问题的变化。你如何创建你的选择?您是只打印此 HTML,还是迭代数据库结果来创建它?
  • 是的,它只有一个 html,在我们的客户网站上就是这样。这就是问题所在,我不喜欢在每一行添加条件的想法
  • 您可以在页面加载时使用 javascript / jquery 为选择选项分配选定的值。 stackoverflow.com/questions/13343566/…

标签: javascript html coldfusion html-select


【解决方案1】:

更简单的方法是您创建一个表格,或为您的状态列出并使用 cfselect 标签创建您的选择:

<cfquery name = "GetAllStates" dataSource = "cf_states"> 
    SELECT code, name
    FROM states
</cfquery> 
<cfselect 
    name="state"
    required="Yes"
    message="Select a State"
    selected="User.State"
    query="GetAllStates"
    display="name"
    value="code"> 
    <!--- Add your default option. --->
    <option value="">Select a State</option> 
</cfselect>

More details about cfselect here.

如果您无法创建 ColdFusion 表或列表,另一种选择是使用 jQuery,如下所示:

<script type="text/javascript">
$("select[name='state'] option[value=" + <cfoutput>#User.State#</cfoutput> + "]").attr('selected','selected');
</script>

【讨论】:

  • 将coldfusion查询变量转换为javascript并将其传递给val()
  • 使用 cfselect 标签创建您的选择 不,最好避免像 cfselect 这样的执行不力、过时的 CF 包装器(以及它们的许多“怪癖”)。只需使用标准的&lt;select&gt; 和 jQuery。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-10
相关资源
最近更新 更多