Autor | Zpráva | ||
---|---|---|---|
bob99 Profil |
#1 · Zasláno: 5. 6. 2012, 10:09:41
Zdravím,
mám tento kód a potřeboval bych aby se po kliknutí selectbox rozbalil. Jde to? <!--[if lt IE 9]> <script> $(function() { var el; $("select.fix-me") .each(function() { el = $(this); el.data("origWidth", el.outerWidth()) // IE 8 will take padding on selects }) .focus(function(){ $(this).css("width", "auto"); }) .bind("blur change", function(){ el = $(this); el.css("width", el.data("origWidth")); }); }); </script> <![endif]--> <select class="fix-me" onChange="getCode('include/fkps_suggest1.php?code='+this.value)" name="" id="cur_name" style="width: 220px;" size="1" tabindex=""> |
||
_es Profil |
#2 · Zasláno: 5. 6. 2012, 10:23:20
bob99:
„aby se po kliknutí selectbox rozbalil“ Ako rozbalil? Veď na to predsa slúži aj bez hocijakého JS, stačí mu dať len vhodný atribút size : Formuláře » select
|
||
bob99 Profil |
#3 · Zasláno: 5. 6. 2012, 10:31:18
myslel jsem rozbaleni po kliknutí na něm, přes size to nejde...
|
||
_es Profil |
bob99:
„myslel jsem rozbaleni po kliknutí na něm“ No však tak sa predsa správa normálny HTML prvok select. „přes size to nejde...“ Nejde? A aj bez size , máš to spomenuté aj v tom článku, ako sa to správa pri size=1 a pri neuvedenom atribúte size .
|
||
bob99 Profil |
#5 · Zasláno: 5. 6. 2012, 11:11:00
Ano normální ano, ale ne tenhle upravený přes javascript. Zkoušel jste to v IE?
|
||
_es Profil |
#6 · Zasláno: 5. 6. 2012, 11:20:07
bob99:
„ne tenhle upravený přes javascript“ No tak prečo tam ten JS dávaš? Aký, ako upravený? Dal si tu len nejaký vytrhnutý kus kódu, z toho ti nikto nič neporadí. „Zkoušel jste to v IE?“ Čo som mal skúsiť a ako? |
||
bob99 Profil |
#7 · Zasláno: 5. 6. 2012, 12:06:25
.. no přece ten kód v javascriptu doplněný o select...
<select class="fix-me" name="" style="width: 220px;"> <option value='1'>1</option> <option value='2'>2</option> <option value='3'>3</option> </select> |
||
_es Profil |
bob99:
„.. no přece ten kód v javascriptu doplněný o select...“ V IE8 mi to normálne „rozbaliť “ide. |
||
bob99 Profil |
#9 · Zasláno: 5. 6. 2012, 12:37:29
..ale až když kliknete podruhý ne? První klik obnoví defaultní šířku selectboxu, ale nerozbalí ho.
|
||
_es Profil |
bob99:
No a odkiaľ si ten kód zobral? Prečo sa neinformuješ tam? Alebo, na čo tam ten kód špeciálne len pre IE vôbec je? Daj ho preč a máš snáď po probléme. |
||
bob99 Profil |
#11 · Zasláno: 5. 6. 2012, 13:09:45 · Upravil/a: bob99
Zkouším jsfiddle.net, ale mám zablokovaný html pole. Jak to tam dostanu?
Ten kód tam je proto, že IE pracuje nesprávně se stylem width u selectboxu. Pokud je text širší než selectbox po rozbalení by měl být vidět celý, ale to se nestane, proto ten JS, který to řeší. Tu ukázku jsem špatně upravil, v polích <option> musí být delší text než je šířka <select> nastavená přes styl...
|
||
_es Profil |
#12 · Zasláno: 5. 6. 2012, 13:30:55
bob99:
„Jak to tam dostanu?“ Normálne klikneš a píšeš - ľavá horná časť. |
||
bob99 Profil |
_es:
„Normálne klikneš a píšeš - ľavá horná časť.“ No to nejde a i ve volbě "panels" mám HTML disablovaný Tak ještě oprava kódu: <script> function getXMLHTTP() { var xmlhttp=false; try { xmlhttp=new XMLHttpRequest(); } catch(e) { try { xmlhttp= new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) { try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e1) { xmlhttp=false; } } } return xmlhttp; } function getCode(strURL) { var req = getXMLHTTP(); if (req) { //function to be called when state is changed req.onreadystatechange = function() { //when state is completed i.e 4 if (req.readyState == 4) { // only if http status is "OK" if (req.status == 200) { document.getElementById('cur_code').value=req.responseText; } else { alert("There was a problem while using XMLHTTP:\n" + req.statusText); } } } req.open("GET", strURL, true); req.send(null); } } function getName(strURL) { var req = getXMLHTTP(); if (req) { //function to be called when state is changed req.onreadystatechange = function() { //when state is completed i.e 4 if (req.readyState == 4) { // only if http status is "OK" if (req.status == 200) { document.getElementById('cur_name').value=req.responseText; } else { alert("There was a problem while using XMLHTTP:\n" + req.statusText); } } } req.open("GET", strURL, true); req.send(null); } } </script> <!--[if lt IE 9]> <script> $(function() { var el; $("select.fix-me") .each(function() { el = $(this); el.data("origWidth", el.outerWidth()) // IE 8 will take padding on selects }) .focus(function(){ $(this).css("width", "auto"); }) .bind("blur change", function(){ el = $(this); el.css("width", el.data("origWidth")); }); }); </script> <![endif]--> <select class="fix-me" id="cur_name" name="" style="width: 20px;"> <option value='1'>1 ndcn dcij odj cij ajaos j</option> <option value='2'>2</option> <option value='3'>3 osc oko kpcakposak coskc paokc poaskc akc</option> </select> |
||
Časová prodleva: 11 let
|
0