0

搜索了几个小时后......我从这个问题中找到了我的问题的答案:How to populate a select list using a structure inside select HTML helper in ColdBox?

这个例子很完美,因为我在 ColdBox Doc 上找不到任何东西。我为我的选项使用了“简单形式”......结果显示是正确的。但是,当值为“”时, selectedValue 似乎不起作用。我还尝试从数组中填充选项。当设置 selectedValue is 时,我对这两种方法都有同样的问题。

当值为“”时,始终选择选项中的第一个值。如何解决此问题或如何更改选项以在 selectedValue 为时显示“选择...”?

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

1 回答 1

0

您需要创建一个对象数组,其中包含空白选项的名称和值对以及其余选项:

<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属性。这可能会解决您的问题。

于 2015-03-11T12:30:28.340 回答