ColdFusion 9中的下拉列表

ColdFusion 9中的下拉列表,coldfusion,drop-down-menu,coldfusion-9,Coldfusion,Drop Down Menu,Coldfusion 9,我正在尝试创建一个下拉列表,该列表同时包含数据库数据和自定义循环。我需要列表将来自数据库的数据显示为选中数据,但也允许用户在需要时使用列表上的其他数据对其进行更改 更具体地说,到目前为止,我已经做到了: <select name="openHours#CountVar#"> <cfloop from="0" to="23" index="OpenHours"> <option value="#OpenHours#"><cfif

我正在尝试创建一个下拉列表,该列表同时包含数据库数据和自定义循环。我需要列表将来自数据库的数据显示为选中数据,但也允许用户在需要时使用列表上的其他数据对其进行更改

更具体地说,到目前为止,我已经做到了:

<select name="openHours#CountVar#">
    <cfloop from="0" to="23" index="OpenHours">  
        <option value="#OpenHours#"><cfif doctorHours.openTime neq ''>#TimeFormat(doctorHours.openTime)#<cfelse>#OpenHours#</cfif></option>
    </cfloop>
</select>
。。以某种方式选择一个选项,以便在我的下拉列表中显示正确的值,并且能够按列表并选择另一个选项来更新我的时间表(如果需要)

添加有关我所需内容的更多信息:

我有一个db表,其中有3列。ID、开放时间和关闭时间。 我努力实现的目标是: 创建一个从0到23小时的下拉列表。然后检查my db,如果openHours和closeHours不为空,则获取这些值并将其作为下拉列表中的预选值。 如果我的医生在上午9点开门,下午6点关门,两个下拉列表将选择09和18,如果我想更新它们,还允许我选择另一个选项。 因此,我想我需要检查我的db表,如果我的数据与下拉列表中的任何数据匹配,则将该选择作为“已选择”选项


希望这现在更有意义

我想这可能是你需要的

<option value="#OpenHours#" <cfif doctorHours.openTime EQ OpenHours>selected="selected"</cfif> >#openHours#</option>

这就是你要找的吗

<select name="openHours#CountVar#">
    <cfoutput query="doctorHours">
       <cfif doctorHours.openTime neq ''>
          <option name="#TimeFormat(doctorHours.openTime)#">#TimeFormat(doctorHours.openTime)#</option>
       </cfif>
    </cfoutput>
</select>

这会给你你想要的。它在列表0到23之间循环并显示每个列表。如果显示的值与doctorHours.openTime匹配,则它将显示为选中状态。

您缺少cfif close标记。但这不是我的问题:@JoshSiok可能是我在尝试使代码美观时遗漏了它,我会修复它。感谢您知道doctorHours对象是什么会很有帮助。我的假设是它是一个查询对象。在这种情况下,您可能只比较对象中的第一条记录,并且需要在所有时间循环。如果可以,请添加更多详细信息。doctorHours是一个从我的表中提取数据的查询,在本例中,它是一个带有openHour和closeHour选项的id。这个选项只显示数据库表中的数据,我希望能够有更改这些数据的选项。此列表仅显示我在数据库中存储的小时数。我想要的是从表中抽出一个小时,并且让我的列表显示从0到23的小时数。然后将数据库中的小时数与列表以及小时数匹配的位置进行比较,以选择该值。有意义吗?@Firematorio-也许我需要更多的咖啡,但我仍然不清楚你想要什么;你能用一个实际结果的例子来更新你的问题吗?你希望他们是什么样的。“我想这会推动事情向前发展。”我更新了我的问题。如果您还需要我进一步澄清,请告诉我@火葬场——见布赫先生的评论。我认为他说的是对的,因为您比较的值的格式有问题。如何从数据库返回时间?如果它不是一个单独的数字,比如7、11或18,那么你需要使用TimeformatdoctorHours.openTime,所以它是比较两个相似的值。确保你使用大写字母H,这样它就可以24小时格式。现在可以了。我必须根据当天的时间来划分日期,以得到正确的时间,但这是我能够弄清楚的。我的问题是,在比较这两个变量时,我没有使用正确的格式。再次感谢如果您想要更简洁的语法,请使用“HourdoctorHours.openTime”而不是“TimeFormatdoctorHours.openTime”
<select name="openHours#CountVar#">
    <cfoutput query="doctorHours">
       <cfif doctorHours.openTime neq ''>
          <option name="#TimeFormat(doctorHours.openTime)#">#TimeFormat(doctorHours.openTime)#</option>
       </cfif>
    </cfoutput>
</select>
<select name="openHours#CountVar#">
    <cfloop from="0" to="23" index="OpenHours">  
        <option value="#OpenHours#"<cfif TimeFormat(doctorHours.openTime,'H') EQ    OpenHours> selected="selected"</cfif>>#OpenHours#</option>
    </cfloop>
</select>