Trying to port a j6 jwd app to j7 jhs. It has a listbox accepting
multiple selections, defined like this:

   xywh 5 16 244 100;cc panel listbox ws_vscroll lbs_multiplesel
rightmove bottommove;

The JHS framework offers a verb: jhselect to generate a Select object,
which IMO is the thing to use in its place. But it only allows single
lines to be selected.

How do I get multiple selections, *plus* reading back what lines are selected?

If I define a variant (the only difference from jhselect being that
I've inserted 'multiple' in line 1) ...

jhselectmultiple=: 4 : 0
'values size sel'=. y
t=. '<select id="<ID>" name="<ID>" class="jhselect" size="<SIZE>"
multiple onchange="return jev(event)" >'
t=. t hrplc 'ID SIZE SEL';x;size;sel
opt=. '<option value="<VALUE>" label="<VALUE>" <SELECTED>><VALUE></option>'
for_i. i.#values do.
 t=. t,opt hrplc'VALUE SELECTED';(i{values),(i=sel){'';'selected="selected"'
end.
t=. t,'</select>'
)

and call it in HBS with a line like this:

   'sel'  jhselectmultiple  sel_text ; sel_size ; sel_index

then this does indeed generate a Select object with id="sel" which
accepts multiple selections.

However, I can only see the first selection, using this javascript
function (borrowed from jdemo4):

function ev_sel_change()
{
 jbyid("which").innerHTML= JEV+" : "+jbyid("selm").selectedIndex;
}

I don't know the DOM well enough to know what I should be using instead.

I've tried googling for selectedIndex and get this link:
http://www.javascriptkit.com/jsref/select.shtml
but it merely confirms that the above is the behavior of selectIndex
when 'multiple' is specified, without suggesting what to use instead.

(Does anyone know a better DOM reference link?)
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to