This question has been answered by Bruno17. See the first response.
<select name="filter_name"> [[!getTvOptions? &tpl=`filterSelectOption` &tvname=`selectTV` &name=`filter_name`]] </select>
//[[getTvOptions? &tpl=`myChunk` &tvname=`myTv` &name=`cb1`]] $tv = $modx->getObject('modTemplateVar',array('name'=>$tvname)); $options = explode('||',$tv->get('elements')); foreach ($options as $option){ $opt = explode ('==',$option); $ph['value'] = count($opt)>1 ? $opt[1]: $opt[0]; $ph['text'] = $opt[0]; $ph['name'] = !empty($asArray) ? $name.'[]' : $name; $ph['checked'] = ''; $ph['selected'] = ''; if ((is_array($_REQUEST[$name]) && in_array($ph['value'],$_REQUEST[$name])) || $_REQUEST[$name] == $ph['value']){ $ph['checked'] = 'checked="checked"'; $ph['selected'] = 'selected="selected"'; } $output .= $modx->getChunk($tpl,$ph); } return $output;
<option value="[[+value]]" [[+selected]]>[[+text]]</option>
<option value="[[+value]]" [[!+fi.[[+name]]:FormItIsSelected=`[[+value]]`]]>[[+text]]</option>
[!getTvOptions? &tpl=`filterSelectOption` &tvname=`selectTV` &name=`filter_name`]] must be [[!getTvOptions? &tpl=`filterSelectOption` &tvname=`selectTV` &name=`filter_name`]]
//if ((is_array($_REQUEST[$name]) && in_array($ph['value'],$_REQUEST[$name])) || $_REQUEST[$name] == $ph['value']) if ($ph['name']==$ph['value']) { $ph['checked'] = 'checked="checked"'; $ph['selected'] = 'selected="selected"'; } $output .= $modx->getChunk($tpl,$ph); } return $output;