Как сделать выбор первого элемента html-списка (выбрать элемент) - PullRequest
1 голос
/ 07 февраля 2010

У меня есть стандартный html выпадающий список.

Я хочу запустить код js после того, как пользователь выбрал элемент без отдельной кнопки отправки.

Событие Onchange не срабатывает, когда пользователь выбирает 1-й элемент (фактически ранее выбранный элемент) в поле выбора.

Как заставить поле со списком реагировать на щелчок, даже если был выбран ранее выбранный элемент?

Примечания: 1. Я не хочу добавлять «выбрать отсюда» или что-то похожее на поле выбора. 2. Событие onclick не помогает, так как оно запускается также при первом щелчке, который пользователь делает, чтобы открыть параметры перед тем, как их выбрать.

Ответы [ 3 ]

1 голос
/ 07 февраля 2010

Вы можете использовать событие onclick, но в то же время считать количество кликов.

  <script type="text/javascript">
      var count = 0;

      function selectClicked(sel){
            count++;
            if (count == 2){
               //the user has selected something
               //so go ahead and handle it
               count = 0; 
            }
      }

  </script>
1 голос
/ 08 февраля 2010

Что если вы добавили событие "onclick" к отдельным элементам "option", а не к элементу "select"?

1 голос
/ 07 февраля 2010

Не думаю, что это невозможно. onchange, как вы правильно заметили, не работает. onmouseup стреляет слишком рано.

Я думаю, onblur сделает , но это также сработает, когда пользователь перейдет по доступным элементам.

Если вам действительно нужно, чтобы это работало надежно, рассмотрите возможность использования заменяющего виджета на основе JavaScript, например этого . Они позволяют обойти печально известную нехватку гибкости, к сожалению, у стандартных элементов формы.

Да, и, кстати, элемент <select> - это не поле со списком , это выпадающий список .

:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...