4 from turbogears import widgets
6 class CustomTextField(widgets.TextField):
7 """Un input con un div al lado para ponerle info"""
9 <span xmlns:py="http://purl.org/kid/ns#">
13 class="${field_class}"
18 <span id="${field_id}_info" />
22 AlumnoMultiSelectAjax = '''
23 function agregar_a_la_lista(texto, lista)
25 t = MochiKit.DOM.getElement(texto);
26 MochiKit.DOM.appendChildNodes(lista, OPTION(t.value));
30 function sacar_de_la_lista(lista)
32 l = MochiKit.DOM.getElement(lista);
33 if (l.selectedIndex < 0) return;
35 for (i=l.selectedIndex; i<l.options.length-1;i++)
36 l.options[i] = l.options[i+1];
40 class AlumnoMultiSelect(widgets.MultipleSelectField):
42 <table xmlns:py="http://purl.org/kid/ns#" style="border:none; width:0%;">
44 <input type="text" id="${field_id}_nuevo" /><input type="button" id="_agregar" value="Agregar"
45 onClick=" agregar_a_la_lista('${field_id}_nuevo', '${field_id}'); " />
52 class="${field_class}"
57 <optgroup py:for="group, options in grouped_options"
61 <option py:for="value, desc, attrs in options"
69 <tr><td align="center">
70 <input type="button" id="_sacar" value="Borrar"
71 onClick="sacar_de_la_lista('${field_id}'); " />
75 javascript = [widgets.JSSource(AlumnoMultiSelectAjax)]