删除<select> <option> </option> </select>中的重复项

时间:2010-10-12 12:40:55

标签: html coldfusion-8

我在查询“takType”中填充了更新表单'id =“tak_id”'的下拉列表。下拉框有三个选项“短信,聊天,推文”,有三个不同的值“001,002,003”。

字段中的SELECTED值重复两次。如何使SELECTED值仅出现一次?

代码在

之下
<cfselect name="tak_id" id="tak_id">
    <cfoutput query="takType">
                      <option >select one</option>
                      <option value="#takType.tak_id#" <cfif takType.tak_id IS tak_id > selected </cfif> > 
                      <cfswitch expression="#takType.tak_id#">
                           <cfcase value="01">SMS </cfcase>
                           <cfcase value="02">chat </cfcase>
                           <cfcase value="03">tweet </cfcase>
                      </cfswitch>
                     </option>
                      <option value="01" >SMS</option>
                      <option value="02" >chat</option>
                      <option value="03" >tweet</option>
    </cfoutput>
    </cfselect>
                </td>                        
            </tr>  

非常感谢 Fransis

2 个答案:

答案 0 :(得分:3)

为什么不将cfif语句移动到三个硬编码选项中的每一个?

<cfoutput query="takType">
                  <option >select one</option>

                  <option value="01" <cfif takType.tak_id IS "01" >selected</cfif>>SMS</option>
                  <option value="02" <cfif takType.tak_id IS "02" >selected</cfif>>chat</option>
                  <option value="03" <cfif takType.tak_id IS "03" >selected</cfif>>tweet</option>
</cfoutput>
</cfselect>

答案 1 :(得分:2)

我认为你的意思是只将cfoutputs包装在第一组周围,然后删除底部的硬编码三。像这样:

<cfselect name="tak_id" id="tak_id"> 
  <option >select one</option>
  <cfoutput query="takType">
  <option value="#takType.tak_id#" <cfif takType.tak_id IS tak_id > selected </cfif> >
  <cfswitch expression="#takType.tak_id#">
    <cfcase value="01">
    SMS
    </cfcase>
    <cfcase value="02">
    chat
    </cfcase>
    <cfcase value="03">
    tweet
    </cfcase>
  </cfswitch>
  </option>
  </cfoutput>
 </cfselect>

可能有助于查看该查询的转储,因为这依赖于数据库中的这三个。