2012-08-13 83 views
1

如果我有一個硬手動值的選擇設置,並且我想基於此設置下面的一個選項作爲默認值,那麼您會怎麼做?就像當這個表單到達時,這個變量將包含1到12個。所以如果它是「6」,我想使「6個月」成爲選定的值。我知道你可以直接在選項值中加入「selected =」選擇「」,但我不知道如何在那裏得到一個if語句。我試着做了一些在cfselect中,並找不到任何有用的東西。cfselect - 如何動態設置所選的選項值w /手動值?

謝謝!

<cfselect name="months_select" id="months_select" multiple="no">             
    <option value="1">1 Month</option>                        
    <option value="2">2 Months</option> 
    <option value="3">3 Months</option> 
    <option value="4">4 Months</option> 
    <option value="5">5 Months</option> 
    <option value="6">6 Months</option>                         
    <option value="7">7 Months</option> 
    <option value="8">8 Months</option> 
    <option value="9">9 Months</option> 
    <option value="10">10 Months</option> 
    <option value="11">11 Months</option> 
    <option value="12">12 Months</option> 
</cfselect> 

回答

3

您可以直接嵌入CF到HTML,我已經做了第一次作爲一個例子。

<select name="months_select" id="months_select" multiple="no"> 

    <option value="1" <cfif YourVariable EQ 1>selected="selected"</cfif>>1 Month</option> 
    <option value="2">2 Months</option> 
    <option value="3">3 Months</option> 
    <option value="4">4 Months</option> 
    <option value="5">5 Months</option> 
    <option value="6">6 Months</option>                         
    <option value="7">7 Months</option> 
    <option value="8">8 Months</option> 
    <option value="9">9 Months</option> 
    <option value="10">10 Months</option> 
    <option value="11">11 Months</option> 
    <option value="12">12 Months</option> 
</select> 

雖然你最好做一個循環。

<select name="months_select" id="months_select" multiple="no"> 
    <cfloop from="1" to="12" index="Month"> 
     <option value="#Month#" <cfif YourVariable EQ Month>selected="selected"</cfif>>#Month# Month<cfif Month GT 1>s</cfif></option> 
    </cfloop> 
</select> 

希望有所幫助。

+0

使用循環假設當然有一個cfoutput圍繞cfselect。如果

+1

需要cfoutput應該是給定的。三元只是ACF9 +,由於OP沒有說他擁有哪個版本,所以省略了。 – Busches 2012-08-13 13:12:55

+0

正確的CF9,我應該補充說。 :)考慮到它是一個初學者問題,認爲之間的代碼不需要cfoutput標籤是合理的(如cfmail)。另外,在代碼中我沒有看到使用cfselect的任何理由。一個簡單的html選擇將工作,不會生成任何額外的CF JavaScript。 – Travis 2012-08-13 13:18:46

2

如果您使用cfselect並通過查詢生成選項,則可以在其中定義默認值。

<cfselect 
    name="months_select" 
    id="months_select" 
    multiple="no" 
    query="numMonths" 
    selected="#monthSelected#" 
    value="monthValue"></cfselect> 
+1

對簡單的1-12循環使用查詢似乎有點矯枉過正。 – Busches 2012-08-13 15:04:46

+2

確實如此,但未來的讀者可能會將'cfselect'用於更大的項目。 – ale 2012-08-13 15:14:44