2012-03-28 2 views
1

У меня есть событие смены события при выпадающем списке. Это раскрывающееся поле создается с использованием AJAX, поэтому запись события должна выполняться с помощью live или bind. Здесь я добавляю код, который я использую в настоящее время. Это работает на лисице. На IE7 его не работает. Может кто-нибудь сказать мне способ, чтобы захватить живой событие выпадающего выбрать на IE7jQuery: событие live change на IE7

 

    <select id="lob_drop" name="opt" class="select"> 
     <option value="1">option 1</option> 
     <option value="2">option 2</option> 
     <option value="3">option 3</option> 
    </select> 

    jQuery('#lob_drop').live('change',function(){ 
     alert(jQuery('#lob_drop option:selected').val()); 
    }); 

ответ

1

Использование JQuery .on(). .live() является deprecated.

jQuery(document).on('change', '#lob_drop', function(){ 
     alert(jQuery('#lob_drop option:selected').val()); 
    } 
); 

Demo

+0

Его работа хорошо. Большое спасибо. – sugunan

0

Используйте следующее:

$('body').on('change', '#lob_drop', function(){ 
    alert($(this).val()); 
}); 

Вот скрипка с примером: http://jsfiddle.net/7EcGE/24/

Моим предыдущее предложение ниже не будет работать, так как .live осуждается удалено, так как jQuery 1.9:

jQuery('#lob_drop').live('change',function(){ 
    alert(jQuery(this).val()); 
}); 
+0

«живой» не работал. но «on» работает. – sugunan

+0

@sugunan Спасибо, что указали это. Я обновил свой ответ. –

1

Какова ваша версия JQuery?

Это работает для меня на IE7 с использованием JQuery 1.4+ Кажется, live() не будет работать с событием изменения в IE во всех предыдущих версиях.

Смежные вопросы