Aha, it’s called select, not SelectUser...
It works mighty fine, I extended it a tiny bit to allow a WHERE select.
<?php
// value for the posted fields
$value=isset($value)?$value:'id';
// field displayed in the select input
$display_field=isset($display_field)?$display_field:'username';
// name of the table frow which the value are get
$tblname=isset($tblname)?$tblname:'web_users';
// name of the form field
$namefield=isset($namefield)?$namefield:'createdby';
//where field
$wherefield=isset($wherefield)?$wherefield.' = ':'';
//where key
$wherekey=isset($wherekey)?$wherefield.$wherekey:'';
// label of the form field
$labelfield=isset($labelfield)?$labelfield:'Created by:';
// an empty value should be displayed ? true or false
$emptyval=isset($emptyval)?'<option value=""></option>':'';
// end of parameters
$negate=($tblname=='web_users' && $value=='id')?'-':''; // negative the value for web user
$result = $modx->db->select("$value, $display_field", $modx->getFullTableName($tblname), "$wherekey");
echo "<p><label for=\"$namefield\">$labelfield</label><select name=\"$namefield\" id=\"$namefield\">\n";
echo $emptyval;
while ($row = mysql_fetch_assoc($result)) echo ' <option value="'.$negate.$row[$value].'">'.$row[$display_field].'</option>'."\n";
echo '</select></p>';
?>
There might be room for improvements in the sensible variable names department...
Haven’t checked if it’s proberly validated by eForm (but in this particular case, it doesn’t really matter).