Как установить selectedValue для пустого значения с помощью html.select в Coldbox?

После поиска в течение нескольких часов... я нашел ответ на свою проблему из этого вопроса: Как заполнить список выбора, используя структуру внутри помощника выбора HTML в ColdBox?

Этот пример идеален, так как я ничего не смог найти в документе ColdBox. Я использовал «простую форму» для своих параметров... результат отображается правильно. Тем не менее, selectedValue, похоже, не работает, когда значение является "". Я также попытался заполнить параметры из массива. У меня была такая же проблема для обоих методов, когда дело доходит до установки selectedValue is .

Когда значение равно "", всегда выбирается первое значение в параметрах. Как это исправить или как изменить параметры, чтобы отображалось «Выбрать ...», когда выбрано значение?

    #html.select(
                name="Approved",                    
                options="Yes,No,Pending",
                column="value",
                selectedValue="", 
                label="",
                required="required",
                title="Approved"
            )#

person Tuannie    schedule 03.03.2015    source источник


Ответы (1)


Вам нужно создать массив объектов, содержащих пару имени и значения для пустой опции вместе с остальными опциями:

<cfset foo = [
                {"name"= "Select", "value"= ""}
              , {"name"= "Yes", "value"= "Yes"}
              , {"name"= "No", "value"= "No"}
              , {"name"= "Pending", "value"= "Pending"}
             ] />

И передайте массив вспомогательной функции select с помощью метода html.options().

#html.select(
            name="Approved",                    
            options=html.options(foo),
            selectedValue="",
            label="",
            required="required",
            title="Approved"
        )#

Примечание. В этом случае вам не нужно указывать атрибут column. Это может решить вашу проблему.

person Pankaj    schedule 11.03.2015