βοήθεια παρακαλώ!!!με το select tag!!!!!

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
gchar
Δημοσιεύσεις: 32
Εγγραφή: 30 Αύγ 2008 18:19

βοήθεια παρακαλώ!!!με το select tag!!!!!

Δημοσίευση από gchar » 12 Μαρ 2010 22:45

Καλησπέρα!!!!

Έχω ένα πρόβλημα με το select tag και τον ie!!!!

Όταν το option μου είναι πολύ μεγάλο και το select μου έχει συγκεκριμένο μήκος τότε δεν μπορώ να δω το κείμενο που περιέχετε στο option μου...................

κανείς καμμία βοήθεια καμμία λύση!!!!

Σας ευχαριστώ όλους πάρα πολύ εκ των προτέρων!!!!!

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

βοήθεια παρακαλώ!!!με το select tag!!!!!

Δημοσίευση από fafos » 12 Μαρ 2010 23:21

auto einai html provlhma kai oxi php...

h monh lysh einai me javascript:

Κώδικας: Επιλογή όλων

<script>
// Work Around to fix Combobox width issue of IE

function foo&#40;px,py,pw,ph,baseElement,fid&#41;
&#123;
var win = document.getElementById&#40;this.fid&#41;;
&#125;

function dropdown_menu_hack&#40;el&#41;
&#123;
if&#40;el.runtimeStyle.behavior.toLowerCase&#40;&#41;=="none"&#41;&#123;return;&#125;
el.runtimeStyle.behavior="none";

var ie5 = &#40;document.namespaces==null&#41;;
el.ondblclick = function&#40;e&#41;
&#123;
window.event.returnValue=false;
return false;
&#125;

if&#40;window.createPopup==null&#41;
&#123;

var fid = "dropdown_menu_hack_" + Date.parse&#40;new Date&#40;&#41;&#41;;

window.createPopup = function&#40;&#41;
&#123;
if&#40;window.createPopup.frameWindow==null&#41;
&#123;
el.insertAdjacentHTML&#40;"MyFrame","<iframe id='"+fid+"' name='"+fid+"' src='about&#58;blank' frameborder='1' scrolling='no'></></iframe>"&#41;;
var f = document.frames&#91;fid&#93;;
f.document.open&#40;&#41;;
f.document.write&#40;"<html><body></body></html>"&#41;;
f.document.close&#40;&#41;;
f.fid = fid;


var fwin = document.getElementById&#40;fid&#41;;
fwin.style.cssText="position&#58;absolute;top&#58;0;left&#58;0;display&#58;none;z-index&#58;99999;";


f.show = function&#40;px,py,pw,ph,baseElement&#41;
&#123;
py = py + baseElement.getBoundingClientRect&#40;&#41;.top + Math.max&#40; document.body.scrollTop, document.documentElement.scrollTop&#41; ;
px = px + baseElement.getBoundingClientRect&#40;&#41;.left + Math.max&#40; document.body.scrollLeft, document.documentElement.scrollLeft&#41; ;
fwin.style.width = pw + "px";
fwin.style.height = ph + "px";
fwin.style.posLeft =px ;
fwin.style.posTop = py ;
fwin.style.display="block";
&#125;


f_hide = function&#40;e&#41;
&#123;
if&#40;window.event && window.event.srcElement && window.event.srcElement.tagName && window.event.srcElement.tagName.toLowerCase&#40;&#41;=="select"&#41;&#123;return true;&#125;
fwin.style.display="none";
&#125;
f.hide = f_hide;
document.attachEvent&#40;"onclick",f_hide&#41;;
document.attachEvent&#40;"onkeydown",f_hide&#41;;

&#125;
return f;
&#125;
&#125;

function showMenu&#40;&#41;
&#123;

function selectMenu&#40;obj&#41;
&#123;
var o = document.createElement&#40;"option"&#41;;
o.value = obj.value;
//alert&#40;"val"+o.value&#41;
o.innerHTML = obj.innerHTML;
while&#40;el.options.length>0&#41;&#123;el.options&#91;0&#93;.removeNode&#40;true&#41;;&#125;
el.appendChild&#40;o&#41;;
el.title = o.innerHTML;
el.contentIndex = obj.selectedIndex ;
el.menu.hide&#40;&#41;;
if&#40;el.onchange&#41;
&#123;
el.onchange&#40;&#41;;
&#125;
&#125;


el.menu.show&#40;0 , el.offsetHeight , 10, 10, el&#41;;
var mb = el.menu.document.body;

mb.style.cssText ="border&#58;solid 1px black;margin&#58;0;padding&#58;0;overflow-y&#58;auto;overflow-x&#58;auto;background&#58;white;font&#58;12px Tahoma, sans-serif;";
var t = el.contentHTML;
//alert&#40;"1"+t&#41;;
t = t.replace&#40;/<select/gi,'<div'&#41;;
//alert&#40;"2"+t&#41;;
t = t.replace&#40;/<option/gi,'<span'&#41;;
//alert&#40;"3"+t&#41;;
t = t.replace&#40;/<\/option/gi,'</span'&#41;;
//alert&#40;"4"+t&#41;;
t = t.replace&#40;/<\/select/gi,'</div'&#41;;
mb.innerHTML = t;
//mb.innerHTML = "<div><span value='dd&#58;ff'>gfgfg</span></div>";

el.select = mb.all.tags&#40;"div"&#41;&#91;0&#93;;
el.select.style.cssText="list-style&#58;none;margin&#58;0;padding&#58;0;";
mb.options = el.select.getElementsByTagName&#40;"span"&#41;;

for&#40;var i=0;i<mb.options.length;i++&#41;
&#123;

mb.options&#91;i&#93;.selectedIndex = i;
mb.options&#91;i&#93;.style.cssText = "list-style&#58;none;margin&#58;0;padding&#58;1px 2px;width/**/&#58;100%;cursor&#58;hand;cursorointer;white-space&#58;nowrap;"
mb.options&#91;i&#93;.title =mb.options&#91;i&#93;.innerHTML;
mb.options&#91;i&#93;.innerHTML ="<nobr>" + mb.options&#91;i&#93;.innerHTML + "</nobr>";
mb.options&#91;i&#93;.onmouseover = function&#40;&#41;
&#123;
if&#40; mb.options.selected &#41;
&#123;mb.options.selected.style.background="white";mb.options.selected.style.color="black";&#125;
mb.options.selected = this;
this.style.background="#333366";this.style.color="white";
&#125;
mb.options&#91;i&#93;.onmouseout = function&#40;&#41;&#123;this.style.background="white";this.style.color="black";&#125;
mb.options&#91;i&#93;.onmousedown = function&#40;&#41;&#123;selectMenu&#40;this&#41;; &#125;
mb.options&#91;i&#93;.onkeydown = function&#40;&#41;&#123;selectMenu&#40;this&#41;; &#125;
if&#40;i == el.contentIndex&#41;
&#123;
mb.options&#91;i&#93;.style.background="#333366";
mb.options&#91;i&#93;.style.color="white";
mb.options.selected = mb.options&#91;i&#93;;

&#125;
&#125;
var mw = Math.max&#40; &#40; el.select.offsetWidth + 22 &#41;, el.offsetWidth + 22 &#41;;
mw = Math.max&#40; mw, &#40; mb.scrollWidth+22&#41; &#41;;
var mh = mb.options.length * 15 + 8 ;
var mx = &#40;ie5&#41;?-3&#58;0;
var my = el.offsetHeight -2;
my=my+5;
var docH = document.documentElement.offsetHeight ;
var bottomH = docH - el.getBoundingClientRect&#40;&#41;.bottom ;
mh = Math.min&#40;mh, Math.max&#40;&#40; docH - el.getBoundingClientRect&#40;&#41;.top - 50&#41;,100&#41; &#41;;
if&#40;&#40; bottomH < mh&#41; &#41;
&#123;
mh = Math.max&#40; &#40;bottomH - 12&#41;,10&#41;;
if&#40; mh <100 &#41;
&#123;
my = -100 ;
&#125;
mh = Math.max&#40;mh,100&#41;;
&#125;
self.focus&#40;&#41;;
el.menu.show&#40; mx , my , mw, mh , el&#41;;
sync=null;
if&#40;mb.options.selected&#41;
&#123;
mb.scrollTop = mb.options.selected.offsetTop;
&#125;
window.onresize = function&#40;&#41;&#123;el.menu.hide&#40;&#41;&#125;;
&#125;
function switchMenu&#40;&#41;
&#123;
if&#40;event.keyCode&#41;
&#123;
if&#40;event.keyCode==40&#41;&#123; el.contentIndex++ ;&#125;
else if&#40;event.keyCode==38&#41;&#123; el.contentIndex--; &#125;
&#125;
else if&#40;event.wheelDelta &#41;
&#123;
if &#40;event.wheelDelta >= 120&#41;
el.contentIndex++ ;
else if &#40;event.wheelDelta <= -120&#41;
el.contentIndex-- ;
&#125;
else&#123;return true;&#125;
if&#40; el.contentIndex > &#40;el.contentOptions.length-1&#41; &#41;&#123; el.contentIndex =0;&#125;
else if &#40;el.contentIndex<0&#41;&#123;el.contentIndex = el.contentOptions.length-1 ;&#125;
var o = document.createElement&#40;"option"&#41;;
o.value = el.contentOptions&#91;el.contentIndex&#93;.value;
o.innerHTML = el.contentOptions&#91;el.contentIndex&#93;.text;
while&#40;el.options.length>0&#41;&#123;el.options&#91;0&#93;.removeNode&#40;true&#41;;&#125;
el.appendChild&#40;o&#41;;
el.title = o.innerHTML;
&#125;
if&#40;dropdown_menu_hack.menu ==null&#41;
&#123;
dropdown_menu_hack.menu = window.createPopup&#40;&#41;;
document.attachEvent&#40;"onkeydown",dropdown_menu_hack.menu.hide&#41;;
&#125;
el.menu = dropdown_menu_hack.menu ;
el.contentOptions = new Array&#40;&#41;;
el.contentIndex = el.selectedIndex;
el.contentHTML = el.outerHTML;

for&#40;var i=0;i<el.options.length;i++&#41;
&#123;

el.contentOptions &#91;el.contentOptions.length&#93; =
&#123;
"value"&#58; el.options&#91;i&#93;.value,"text"&#58; el.options&#91;i&#93;.innerHTML
&#125;
if&#40;!el.options&#91;i&#93;.selected&#41;&#123;el.options&#91;i&#93;.removeNode&#40;true&#41;;i--;&#125;;
&#125;
el.onkeydown = switchMenu;
el.onclick = showMenu;
el.onmousewheel= switchMenu;
&#125;
</script>

kai h forma:

Κώδικας: Επιλογή όλων

<select name="a" style="width&#58;162px;" onfocus="window.dropdown_menu_hack&#40;this&#41;">

...ta option sou edo....

</select>

gchar
Δημοσιεύσεις: 32
Εγγραφή: 30 Αύγ 2008 18:19

βοήθεια παρακαλώ!!!με το select tag!!!!!

Δημοσίευση από gchar » 12 Μαρ 2010 23:45

Σόρρυ για το λάθος σημείο του post!!!
Σε ευχαριστω πάρα παρα πολύ για την βοηθειά σου!!!!!!!!!!!!!!!!!!!!!!


Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες