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;