Steve M <[EMAIL PROTECTED]> writes: > I'm having trouble setting an option in a multiselect field to be the > default selected option.
Hi Steve, I am new to Webware, FormKit etc. but I think I can help you out on this one: choices = BaseChoiceClasses.ChoiceList() for f in 'apple banana blueberry kiwi orange strawberry'.split(): choices.addChoice(f, f) choices.setSelected(['kiwi', strawberry']) See also attached servlet (fruits.py) with full example of a multi-select field. HTH, Martin
from WebKit.Page import Page from FormKit import Form, BaseChoiceClasses, Fields from FormKit.FormKitMixIn import FormKitMixIn import time class fruits(FormKitMixIn, Page): def __init__(self): Page.__init__(self) form = self.form = Form.Form() self.addForm(form) ## MULTI-SELECT fruits = Fields.MultiSelectField('fruits', label="Select fruits") form.addField(fruits) self.fruitChoices = BaseChoiceClasses.ChoiceList() fruits.setChoices(self.fruitChoices) self.fruitsSelectedInit() form.addField(Fields.WebKitSubmitButton(name="submit",label="Update")) def awake(self, transaction): Page.awake(self, transaction) self.fruitsUpdate() def sleep(self, transaction): self.resetForms() Page.sleep(self, transaction) ## Actions def actions(self): return ['submit'] def submit(self): if not self.form.isSuccessful(): return ## Other methods def fruitsSelected(self): return self.__fruitsSelected def fruitsSelectedInit(self): self.__fruitsSelected = ['kiwi'] def fruitsSelectedUpdate(self): self.__fruitsSelected = self.form.value('fruits') def fruitsUpdate(self): fruits = 'apple banana blueberry kiwi orange strawberry'.split() self.fruitChoices.clear() for f in fruits: self.fruitChoices.addChoice(f, f) self.fruitChoices.setSelected(self.fruitsSelected()) def writeContent(self): self.writeln('''<h3>Time: %s</h3>''' % str(time.time())) self.write(self.form.dump())