definitions for the parameter (the options are listed in the html):
const char htmlAlarmLEDsComboBox[htmlAlarmLEDsComboBoxLength] PROGMEM = "<label for='ledalarmefect'>LEDs alarm effect</label><br/><select name='ledalarmefect' id='ledalarmefect'><option value='0'>none</option><option value='1'>Sunrise</option><option value='2'>Blink</option><option value='3'>Cycle</option><option value='4'>Pulse</option></select><script>document.getElementById('ledalarmefect').selectedIndex = %d;</script>";
char alarmLEDsComboBoxHtml[htmlAlarmLEDsComboBoxLength];
WiFiManagerParameter wmParamAlarmLEDs(alarmLEDsComboBoxHtml);
setting html and initial value into parameter in setup()
sprintf_P(alarmLEDsComboBoxHtml, htmlAlarmLEDsComboBox, (int) config.alarmLEDs);
wm.addParameter(&wmParamAlarmLEDs);
getting the value in the save callback and setting it to html again:
String s = wm.server->arg("ledalarmefect");
config.alarmLEDs = (AlarmLEDs) s.toInt();
sprintf_P(alarmLEDsComboBoxHtml, htmlAlarmLEDsComboBox, (int) config.alarmLEDs);
if your options are dynamic, you can build the html in code