I think you don't have to use eval..., I'd try this:
var select = $('[EMAIL PROTECTED] myselect]');
var cachedOnChange = select[0].onchange;
select[0].onchange = null;
select.bind('change', function() {
if (confirm('Are you sure?')) {
cachedOnChange();
} else {
...
}
});
Does that work for you?
-- Klaus
Nicolas Hoizey schrieb:
> No idea?
>
> Le 9 févr. 07 à 10:07, Nicolas Hoizey a écrit :
>
>> Hello,
>>
>> Let's say I have the folowing code I can't change (it's not mine) :
>>
>> <select name="myselect"
>> onchange="this.nextSibling.visibility='hidden';">
>> <option value="1">One</option>
>> <option value="2">Two</option>
>> </select>
>>
>> How can I put my own "change" event handler, but being able to run
>> the original one as well?
>>
>> I tried that :
>>
>> $(document).ready(function() {
>> var currentOption = $('[EMAIL PROTECTED] myselect] > option
>> [EMAIL PROTECTED]').attr('value');
>> var currentOnChange = $('[EMAIL PROTECTED]').attr('onchange');
>> currentOnChange = currentOnChange.replace('/this/', '$(\'select
>> [EMAIL PROTECTED]')');
>> $('[EMAIL PROTECTED] myselect]').removeAttr('onchange');
>> $('[EMAIL PROTECTED] myselect]').bind('change', function(event) {
>> if (confirm('Are you sure?')) {
>> eval(currentOnChange);
>> } else {
>> $('[EMAIL PROTECTED] myselect] > [EMAIL
>> PROTECTED]').removeAttr
>> ('selected');
>> $('[EMAIL PROTECTED] myselect] > [EMAIL
>> PROTECTED]'+currentOption
>> +']').attr('selected', 'selected');
>> }
>> });
>> });
>>
>> The eval doesn't seem to do anything. Any idea how to do this?
>>
>>
>> On a side note, I noticed that I had to use removeAttr() instead of
>> unbind(), which was not doing anything.
>>
>>
>> -Nicolas
>>
>> --
>> Nicolas "Brush" HOIZEY
>> Clever Age : http://www.clever-age.com/
>> Gastero Prod : http://www.gasteroprod.com/
>> Photos : http://www.flickr.com/gp/[EMAIL PROTECTED]/M1c002
>> phpHeaven : http://www.phpheaven.net/
>>
>>
>>
>>
>> _______________________________________________
>> jQuery mailing list
>> [email protected]
>> http://jquery.com/discuss/
>
>
>
> -Nicolas
>
_______________________________________________
jQuery mailing list
[email protected]
http://jquery.com/discuss/