From: fidodido on
If i press the button "MOVE UP", it will go to the top of the select
box.
If i press the button "MOVE DOWN", it will go to the bottom of the
select box.

The selected values that the user select will still be selected, even
if i press up or down.

It works in firefox....but not IE ? coz the scrollTop does not work in
IE.....
Is there any other way ?

Here the source :

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
/>
<title>Untitled Document</title>
</head>

<script type="text/javascript">

var bw = new lib_bwcheck()
function lib_bwcheck()
{
this.ver = navigator.appVersion
this.agent = navigator.userAgent
this.dom = document.getElementById?1:0
this.opera5 = this.agent.indexOf("Opera 5")>-1
this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom &&
!this.opera5)?1:0;
this.ie6 = (this.ver.indexOf("MSIE 6")>-1 && this.dom &&
!this.opera5)?1:0;
this.ie4 = (document.all && !this.dom && !this.opera5)?1:0;
this.ie = this.ie4||this.ie5||this.ie6
this.mac = this.agent.indexOf("Mac")>-1
this.ns6 = (this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4 = (document.layers && !this.dom)?1:0;
this.bw = (this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6
|| this.opera5)
return this;
}

function moveBar(id, pos)
{
lb = document.getElementById(id);
arr = getMultiple(lb);
if (bw.ie)
{ if (pos == "top")
{ lb.selectedIndex = 0;
}
else
{ lb.selectedIndex = lb.length - 1;
lb.selectedIndex = -1;
}
}
else
{ if (pos == "top")
lb.scrollTop = 0;
else
lb.scrollTop = 50;
}
}

function getMultiple(lb)
{
var keep_array = new Array();
for (var i=0;i<Number(lb.length);i++)
{ if (lb.options[i].selected == true)
{ keep_array.push(i);
}
}
return keep_array;
}

</script>

<body>
<table width="200" border="0">
<tr>
<td><select class="Textfield" size="5" name="se" id="se" multiple >
<option value=""></option>
<option value="3">Value1</option>
<option value="4">Value2</option>
<option value="1">Value3</option>
<option value="6">Value4</option>
<option value="2">Value5</option>
<option value="3">Value6</option>
<option value="4">Value7</option>
<option value="1">Value8</option>
<option value="6">Value9</option>
<option value="2">Value10</option>
<option value="3">Value11</option>
<option value="4">Value12</option>
<option value="1">Value13</option>
<option value="6">Value14</option>
<option value="2">Value15</option>
<option value="3">Value16</option>
<option value="4">Value17</option>
<option value="1">Value18</option>
<option value="6">Value19</option>
<option value="2">Value20</option>
<option value="3">Value21</option>
<option value="4">Value22</option>
</select>
</td>
<td>
<input type="button" name="click" value="MOVE UP"
onClick="moveBar('se', 'top')">
<input type="button" name="click" value="MOVE DOWN"
onClick="moveBar('se', 'bottom')"></td>
</tr>
</table>
</body>

From: Thomas 'PointedEars' Lahn on
fidodido wrote:

> If i press the button "MOVE UP", it will go to the top of the select
> box.
> If i press the button "MOVE DOWN", it will go to the bottom of the
> select box.
>
> The selected values that the user select will still be selected, even
> if i press up or down.

AFAIK, the pronoun "I" is always spelled "I".

> It works in firefox....but not IE ?

"Does not work" is a useless error description. [psf 4.11]

<URL:http://jibbering.com/faq/#FAQ4_43>

> coz the scrollTop does not work in
^^^
That word is not in my dictionary either.

> IE.....
> Is there any other way ?
>
> Here the source :
>
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
> />

This is not Valid HTML. <URL:http://validator.w3.org/>

> <title>Untitled Document</title>

<URL:http://www.w3.org/QA/Tips/good-titles>

> </head>
>
> <script type="text/javascript">

The `script' element must be child of the `head' or the `body' element.

> var bw = new lib_bwcheck()
> function lib_bwcheck()
> {
> this.ver = navigator.appVersion
> this.agent = navigator.userAgent
> this.dom = document.getElementById?1:0
> this.opera5 = this.agent.indexOf("Opera 5")>-1
> this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom &&
> !this.opera5)?1:0;
> [...]

<URL:http://pointedears.de/scripts/test/whatami>

> [...]
> <body>
> <table width="200" border="0">
> <tr>
> <td><select class="Textfield" size="5" name="se" id="se" multiple>
> <option value=""></option>
> <option value="3">Value1</option>
> [...]

Example code would have sufficed.

> </select>


PointedEars
From: Gérard Talbot on
fidodido wrote :
> If i press the button "MOVE UP", it will go to the top of the select
> box.

If you want a quality answer/solution to your particular issue, then
please post a quality message.

> If i press the button "MOVE DOWN", it will go to the bottom of the
> select box.
>
> The selected values that the user select will still be selected, even
> if i press up or down.
>
> It works in firefox....but not IE ? coz the scrollTop does not work in
> IE.....
> Is there any other way ?
>
> Here the source :
>
> <html>

No doctype declaration.

> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"
> />
> <title>Untitled Document</title>
> </head>
>
> <script type="text/javascript">
>
> var bw = new lib_bwcheck()
> function lib_bwcheck()
> {
> this.ver = navigator.appVersion
> this.agent = navigator.userAgent
> this.dom = document.getElementById?1:0
> this.opera5 = this.agent.indexOf("Opera 5")>-1
> this.ie5 = (this.ver.indexOf("MSIE 5")>-1 && this.dom &&
> !this.opera5)?1:0;
> this.ie6 = (this.ver.indexOf("MSIE 6")>-1 && this.dom &&
> !this.opera5)?1:0;
> this.ie4 = (document.all && !this.dom && !this.opera5)?1:0;
> this.ie = this.ie4||this.ie5||this.ie6
> this.mac = this.agent.indexOf("Mac")>-1
> this.ns6 = (this.dom && parseInt(this.ver) >= 5) ?1:0;
> this.ns4 = (document.layers && !this.dom)?1:0;
> this.bw = (this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6
> || this.opera5)
> return this;
> }
>

All of the above function is definitively not recommendable and not
good. There is now a wide consensus among experienced web developers
that browser detection based on user-agent string detection is
unreliable, wrong, difficult, tedious to manage.

A Strategy That Works: Object/Feature Detecting by comp.lang.javascript
newsgroup FAQ notes
http://jibbering.com/faq/faq_notes/not_browser_detect.html#bdFD
Browser detection - No; Object detection - Yes by Peter-Paul Koch
http://www.quirksmode.org/js/support.html
Browser identification approach (aka "browser sniffing"): not best, not
reliable approach; Using Object/Feature detection approach: best and
overall most reliable
http://www.mozilla.org/docs/web-developer/upgrade_2.html#BrowserIdent

> function moveBar(id, pos)

[snipped]

Do not post long excerpts of code; best is to post an url showing the
problem and then ask a few questions. You will get assistance from this
newsgroup if you post the best helpful message (for readers wishing to
read your post and assist you).

G?rard
--
remove blah to email me
From: Dr John Stockton on
JRS: In article <410kvhF1bub6cU1(a)uni-berlin.de>, dated Thu, 22 Dec 2005
16:43:03 local, seen in news:comp.lang.javascript, G?rard Talbot
<newsblahgroup(a)gtalbot.org> posted :
>
>Do not post long excerpts of code; best is to post an url showing the
>problem and then ask a few questions. You will get assistance from this
>newsgroup if you post the best helpful message (for readers wishing to
>read your post and assist you).

No. Those with off-line newsreaders do not appreciate that approach.

Best is to simplify the problematic code until it is short enough to
post, checking that in the simplified form the problem still occurs.

Quite often, the solution will become obvious in the simplification.

Your cited approach is second best.

--
? John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4 ?
<URL:http://www.jibbering.com/faq/> JL/RC: FAQ of news:comp.lang.javascript
<URL:http://www.merlyn.demon.co.uk/js-index.htm> jscr maths, dates, sources.
<URL:http://www.merlyn.demon.co.uk/> TP/BP/Delphi/jscr/&c, FAQ items, links.