我在这里尝试完成的是填充一个多选框,其中包含一个项目列表,此代码执行此部分。 它没有做的是,如果我在列表中选择多个项目并尝试提交表单,则不会在列表中保留相同的项目。
如果我只选择1个项目并提交表格,那么仍然会选择一个项目。 这是我使用coldfusion的第一周,这是我的第一个障碍,我确信在这一点上它是非常愚蠢和简单的东西我忘了在这里做,但我整天编码,我的眼睛正在穿越。我希望那里有人会指出我正确的方向
<select id="equipmentstatus1" name="equipmentstatus1" multiple="multiple">
<cfloop list="#trim(cfleqstatus)#" delimiters="#chr(13)##chr(10)#" index="data">
<cfset counter++>
<cfoutput><option value="#rows[counter][1]#" <cfif form.equipmentstatus1 EQ rows[counter][1]> selected="selected"</cfif>>#rows[counter][2]#</option></cfoutput>
</cfloop>
</select>
谢谢
答案 0 :(得分:0)
您的FORM值将包含一个项目列表,而不是一个项目。所以你需要改变你的if语句:
<cfif form.equipmentstatus1 EQ rows[counter][1]>
到此:
<cfif ListFind(form.equipmentstatus1, rows[counter][1])>
这将检查FORM.equipmentstatus1
中的项目列表,并尝试在该列表中查找当前行的值。如果找到它,它将返回true。