ugrás a tartalomhoz

IE multiple select option value js bug, HELP

toxin · 2006. Szep. 6. (Sze), 21.48
http://toxin.hu/tutorial/select2/test.html

aki megtudja oldani hogy a fenti select, ami csak abban különbözik az alsótól hogy multiple, helyes value-értéket adjon vissza (katt akármelyik felső elemen), az plííííííííííííííííííííííz

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>option test</title>

<script src="./scripts/prototype.js" type=""></script>
<script src="./scripts/scriptaculous.js" type=""></script>

<script language="javascript" type="text/javascript">
window.onload = function(){
    var select_1 = Builder.node('select',{id:'test',multiple:'multiple',size:10});
    var select_2 = Builder.node('select',{id:'test',size:10});

    for (var i=1;i<=10;i++)
    {
        select_1.appendChild(Builder.node('option',{id:'opt'+i,value:i},'test'+i));
        select_2.appendChild(Builder.node('option',{id:'opt'+i,value:i},'test'+i));
    }
    
    select_1.onclick = function(){
        alert(this.selectedIndex);
    }
    select_2.onclick = function(){
        alert(this.selectedIndex);
    }

    $('wrapper_1').appendChild(select_1);$('wrapper_2').appendChild(select_2);
}
</script>
</head>
<body>
<div id='wrapper_1'></div>
<div id='wrapper_2'></div>
</body>
</html>
 
gugliba ne küldjetek ott voltam egész délután, fx alatt megy persze össze lehet vetni , thx
 
1

re

toxin · 2006. Szep. 6. (Sze), 21.50
ismert hiba rengeteg helyen fentvan gugliban csak megoldást nem leltem :( országomat a megoldásért, a hajamat már odaadtam :))
2

Mit jelent a helyes érték?

Jano · 2006. Szep. 6. (Sze), 22.40
Multiple-nél értelemszerűen nem egy értéket kell visszaadnia. How to get selected items from <select multiple ... > using Javascript
3

semmit nem ad vissza

toxin · 2006. Szep. 6. (Sze), 22.58
nemhogy értéket, az a hiba lényege hogy DOM metódussal van hozzáadva, ha simán html-be van írva nem probléma

http://toxin.hu/tutorial/select2/test2.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>option test</title>

<script src="./scripts/prototype.js" type=""></script>
<script src="./scripts/scriptaculous.js" type=""></script>

<script language="javascript" type="text/javascript">
window.onload = function(){
    var select_1 = Builder.node('select',{id:'test',multiple:'multiple',size:10});
    var select_2 = Builder.node('select',{id:'test',size:10});

    for (var i=0;i<=10;i++)
    {
        select_1.appendChild(Builder.node('option',{id:'opt'+i,value:+i},'test'+i));
        select_2.appendChild(Builder.node('option',{id:'opt'+i,value:+i},'test'+i));
    }
    
    select_1.onclick = function(){
       alert($F(this));
    }
    select_2.onclick = function(){
       alert($F(this));
    }

    $('wrapper_1').appendChild(select_1);$('wrapper_2').appendChild(select_2);
}
</script>
</head>
<body>
<div id='wrapper_1'></div>
<div id='wrapper_2'></div>
</body>
</html>
 
$F -el lehet form mezőkből kinyerni az beállított értékeket prototype alatt, lehet látni IE vs fx (ctrl-al jelölgetve a fenti select option-jait IE akkora Bugajakab hogycsakna), de nekem spec a selectedIndex kéne, akárhogy csak js-el legyenek hozzáadva a select/option-ok

ha így jobban tetszik
Undocumented Bugs:

* BUG: when multiple=true, selectedIndex and value properties are inaccurate with multiple selections

http://channel9.msdn.com/wiki/default.aspx/Channel9.InternetExplorerProgrammingBugs

vagy
1. Bug: programmatically setting selections on multiSELECT elements (<SELECT multiple>) doesn't update value/selectedIndex properties, and doesn't fire onChange event
Summary: Several problems with MultiSELECTs (<SELECT multiple="true">) here...
Related docs: ??
Suggested Workarounds: ??

http://throbs.net/web/articles/IE-SELECT-bugs/#ieProgrammaticMultiSelectChanges

stb. :)
4

hasonló probléma

Anonymous · 2006. Szep. 6. (Sze), 23.08
nekem is hasonló problémám van, js-sel töltök fel egy selectet és ie nálam akkor hasal el, mikor a selectedIndex értékét akarom megadni, tehát nem lekérdezni. a dolog érdekessége, hogy a multiple opciót false-ra állítom előtte, és úgy sem működik.
holnap fogok szenvedni még egy kicsit vele, ha lesz valami ötletem, akkor beírom ide.

gex

u.i: ja igen, egy olyan problémám is volt vele, hogy ie-ben gyakorlatilag eltűnt az option-ök szövege, mintha láthatatlan lenne, de majd holnap csinálok egy demo oldalt, meg addig átnézem nem rontottam-e el valamit.
5

re

toxin · 2006. Szep. 6. (Sze), 23.12
szóljál mindenképp, vagy valaki, mert fogok egy weblapátot és bekopogok vele a microsofthoz ... :)))

amúgy nézegetve most a

http://channel9.msdn.com/wiki/default.aspx/Channel9.InternetExplorerProgrammingBugs

az oldalt ( FORM and FORM-related Elements issues alatt), most egy darabig form-ot tartalmazó dinamikus oldalt nem fejlesztek IE alá :( csak ezmenjen valahogy :S

ui: egyébként ott van a tied is

Undocumented Bugs:

* BUG: when multiple=true, selectedIndex and value properties are inaccurate with multiple selections
* BUG: when multiple=true, onchange and onpropertychange events do not fire correctly
* BUG: when multiple=true, value property is not updated when programmatically set; e.g. "sel.value=1; (sel.value==1)==false;"
* BUG: when size property>1 or multiple=true, "IE incompletely redraws relative-sized SELECTs during text-size changes":http://throbs.net/web/articles/IE-SELECT-rendering-bug/



:) :(
6

nem pont ez a baj

Anonymous · 2006. Szep. 6. (Sze), 23.49
gondolom erre gondoltál:
* BUG: when size property>1 or multiple=true, "IE incompletely redraws relative-sized SELECTs during text-size changes":http://throbs.net/web/articles/IE-SELECT-rendering-bug/


az én esetemben pont az a furcsa, hogy a size 1-re van állítva, a multiple pedig false-ra (mindkettő js-ből). a linket megnéztem de annál a bugnál csak összecsúsznak a szövegek, nekem viszont teljesen láthatatlan lesz az összes szöveg.

gex
7

megoldva

toxin · 2006. Szep. 7. (Cs), 07.37
thx, prototype, kódjában sok helyütt láttam már (sőt így utólag nem csak ott , js man-okban csak más kontextusban), csak tettem vele egy próbát itt is és lőn :)

http://toxin.hu/tutorial/select2/test3.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>option test</title>

<script src="./scripts/prototype.js" type=""></script>
<script src="./scripts/scriptaculous.js" type=""></script>

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

window.onload = function(){
    var select_1 = Builder.node('select',{id:'test',multiple:'multiple',size:10});
    for (var i=0;i<=10;i++)
    {
        select_1.appendChild(Builder.node('option',{id:'opt'+i,value:+i},'test'+i));
    }

    select_1.onclick = function(){
        setTimeout(function() {alert ($F(this))}.bind(this), 10);
    }
    
    $('wrapper_1').appendChild(select_1);
}
</script>
</head>
<body>
<div id='wrapper_1'></div>
</body>
</html>
ill. eredeti kódban pl.

setTimeout(function() {this.onClick(currentSelect)}.bind(this), 10);
sima js-ben majd írja ide vki :)

üdv t