This code will pull a list of content into a custom field and create a select box for each result.it couple with programe code go to interner code,see edit_field.jsp,this code work well.
####prepare work: ##new strutcture: departStruct field field type label name text (string) english id label text (string) label sortorder text (int) sort order ##input content:(example china city) name label sortorder wuhan wuhan city�__��� 0 beijing beijing city��ъ�� 1 dalian dalian city�_���_ 2 shanghai shanghai city��_��� 3 guangzhou guangzhou city�_���_ 4 ##below is a new structure ,name servitems(�ύ�_����_) ,i use Custom Fields type,fieldVelocityVarName is departsel(�ύ�_��Ĭ�Ѭ)���it work well. ##description This code will pull a list of content into a custom field and create a select box for each result. ##set($_qk = "+structureName:Departstruct +(conhost:$host.identifier conhost:SYSTEM_HOST)") #set($_qk = "+structureName:Departstruct ") #set($cons = $dotcontent.pull(${_qk},0,"Departstruct.sortorder asc")) <select dojoType="dijit.form.FilteringSelect" autocomplete="true" id="${field.getVelocityVarName()}" name="${field.getFieldContentlet()}" ${field.isReadOnly()}?"readonly=\"\"":""> <option value="" class="optionSelectField">please select...</option> #foreach($con in $cons) #set($name=$!{con.name}) #set($pairvalue=$!{con.label}) #set($selected = "") #if ($UtilMethods.isSet($value)) #set($compareValue = ${value}) #elseif ( $UtilMethods.isSet($defaultValue)) #set($compareValue = ${defaultValue}) #else #set($compareValue = "") #end #if ( ($UtilMethods.isSet($compareValue)) &&($compareValue.equalsIgnoreCase(${name})) ) #set($selected = "SELECTED") #end ##set($compareValue = ($UtilMethods.isSet($value) ? ${value} : ($UtilMethods.isSet($defaultValue) ? ${defaultValue} : ""))) <option value="$!{name}" ${selected}> $!{pairvalue}</option> #end </select>