2009-09-26 2 views
0

У меня есть этот код, который работает в последней версии firefox, opera, и я не уверен, что в IE8, но он не работает в Google Chrome, Safari и OFC IE7 и 6.jQuery - функция запуска после нажатия на <option> тег

сценарий у меня есть несколько сложнее, но проблема заключается в следующем:

<select> 
<option class='gramaz_vyber'>1</option> 
<option class='gramaz_vyber'>2</option>  
</select> 

и JQuery:

$('.gramaz_vyber').click(function() { 
    $(this).hide(); 
}); 

Как я уже писал ранее, код I hav e выглядит по-другому, но мне нужно запустить функцию после того, как я нажму на <option>, и она работает только в FF/Opera ... любая идея, как я мог обойти это?

ответ

1

Это смешно на самом деле, кажется, что вы не можете использовать шкурку() на опционных элементов в IE7 (не тестировался на IE8).

Но следующий код работает:

<html> 
<head></head> 

<body> 
    <select> 
     <option>-</option> 
     <option class="removable">1</option> 
     <option class="removable">2</option>   
    </select> 

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $('select').change(function() { 
       $(this).find('option.removable:selected').remove(); 
      }); 
     }); 
    </script> 

</body> 
</html> 

Разница заключается в том, что вы удаляете объект из DOM, а не просто скрывает это.

1

Сверху моей головы я не думаю, что все браузеры поддерживают события click для <option> элементов.

Вам необходимо обработать событие изменения для родительского элемента <select>.

+0

Не могли бы вы назвать меня какой-либо функцией или чем-то, что я должен искать? – Mike

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