Выпадающие списки в ColdFusion 9 - PullRequest
0 голосов
/ 03 апреля 2012

Я пытаюсь создать выпадающий список, который одновременно включает в себя данные базы данных и пользовательский цикл.Мне нужно, чтобы список отображал как «выбранные» данные, поступающие из базы данных, но также позволял пользователю изменять их при необходимости с другими данными в списке.

Более конкретно, это то, что я имею до сих пор:

<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>

Проблема с этим кодом заключается в том, что когда значение фактически извлекается из базы данных, остальные параметры значения исчезают, потому что #OpenHours# изолирован, и у меня может быть только один или другой.Также значение должно быть динамическим, чтобы получить правильное значение в случае обновления.

Могу ли я включить эту часть

<cfif doctorHours.openTime neq ''>
    #TimeFormat(doctorHours.openTime)#
 <cfelse>
     #OpenHours#
 </cfif>

.. в "выбранную" опцию как-то вЧтобы в моем раскрывающемся списке отображалось правильное значение, а также можно было нажать в списке и выбрать другой вариант для обновления моего расписания, если это необходимо?

Добавление дополнительной информации о том, что мне нужно:

У меня есть таблица БД с 3 столбцами.ID, openHours и closeHours.То, чего я пытаюсь добиться, это: создать выпадающий список, который имеет часы от 0 до 23. Затем проверьте мою базу данных, если openHours и closeHours не пусты, получите эти значения и сделайте их в качестве предварительно выбранных значений навыпадающий список.Если мой доктор откроется в 9:00 и закроется в 18:00, два раскрывающихся списка будут выбирать 09 и 18, а также позволят мне выбрать другой вариант, если я хочу их обновить.Поэтому я думаю, что мне нужно проверить свою таблицу базы данных и, если мои данные совпадают с какими-либо данными в раскрывающемся списке, сделать этот выбор как выбранный на.

Надеюсь, что теперь это имеет больше смысла.:)

Ответы [ 3 ]

4 голосов
/ 03 апреля 2012
<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>

Это должно дать вам то, что вы ищете.Он перебирает список от 0 до 23 и отображает каждый из них.Если отображаемое значение соответствует doctorHours.openTime, оно будет отображаться как выбранное.

3 голосов
/ 03 апреля 2012

Я думаю, это может быть то, что вам нужно.

<option value="#OpenHours#" <cfif doctorHours.openTime EQ OpenHours>selected="selected"</cfif> >#openHours#</option>
1 голос
/ 03 апреля 2012

Это то, что вы ищете?

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