views:

62

answers:

2

Hello everyone.
I had trouble with this script: http://loki.timon.com.ua/select/
In IE8: all works great - dropdowns work, cloned dropdowns work.
In IE7: drop downs dont work.
In IE8 with IE7mode: first dropdown work normally, cloned - not.

People, can you help me?

A: 

I have IE7 at work... so for me the script does not work as is... although it does work fine in FF3.5+

When fiddling with it locally... I got it to work by changing the following lines....

<dl class="selectboxs" style="width:74px;" onclick="this.down('dd').toggle()">  

CHANGES TO

<dl class="selectboxs" style="width:74px;" onclick="$(this).down('dd').toggle()">   

Note the $ which is what makes it a prototype object. This is odd since prototype usually wraps elements automatically, but that is what i got..

I also changed the function to add the $() around id.. same reason.. similarly perplexed.

function addMessenger(id)
{
    $(id).insert({after:'<div>' + $(id).innerHTML + '</div>'});
    return false;
}

However I've never used prototype calls from inline js, so maybe something to do with that? Perhaps the JS/prototype experts can help?

Java Drinker
Java Drinker, after changing 'this' to '$(this)' dropdown began open, but value of dropdown dont changed.
A: 

Fixed. Just replace

onclick="changeMessengerType(this);"

CHANGES TO

onclick="changeMessengerType($(this));"

And

liselected.update(li.innerHTML);

TO

$(liselected).update(li.innerHTML);

Thanks everyone.