Первый щелчок по выбору не выбирает значение

0

Привет, у меня проблема с моим полем выбора в HTML. Первый щелчок на этом поле иногда не выбирает значение, а только "фокусирует" его? (я не знаю, что это хорошее слово для этого). Я сделал экран, чтобы помочь вам объяснить, что я имею в виду:

Ссылка на изображение

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

Некоторые части моего кода:

echo '<select id="selector'.$i.'" style=" height: 100%; width: 228px; margin: 2px;" onchange="JumpToPoint(this.value);">';
while($street = mysql_fetch_array($streets, MYSQL_ASSOC))
{
   echo '<option value="'.$street['x'].','.$street['y'].'">'.$street['name'].'</option>';        
}
echo '</select></div>';

Можно ли имитировать этот фокус? Потому что только первый щелчок фокусирует значение - socond, third и т.д. Всегда выбирает правильное значение

Я обнаружил, что проблема связана с этой функцией:

    jQuery.fn.filterByText = function(textbox) {
    return this.each(function() {
        var select = this;
        var options = [];
        $(select).find('option').each(function() {
            options.push({value: $(this).val(), text: $(this).text()});
        });
        $(select).data('options', options);

        $(textbox).bind('change keyup', function() {
            var options = $(select).empty().data('options');
            var search = $.trim($(this).val());
            var regex = new RegExp(search,"gi");

            $.each(options, function(i) {
                var option = options[i];
                if(option.text.match(regex) !== null) {
                    $(select).append(
                        $('<option>').text(option.text).val(option.value)
                    );
                }
            });
        });
    });
};

Но я не знаю, где

Заранее спасибо за помощь.

Теги:

2 ответа

0

добавьте эту строку до цикла while. Я думаю, это поможет u.

echo '--- select ----';

0

Я не понимаю, почему вы не просто используете событие "change" для вашего события jQuery, а не как событие "click", поэтому отправляете код, который вы используете, и если вы используете jQuery, попробуйте это:

<script type="text/javascript">
$(document).ready(function() {
   $('#selector<?php echo $i ?>').change(function() {
      /** change map code goes here **/
   });
});
</script>
  • 0
    Он использует событие onchange, если вы посмотрите на код, он просто вызывает его встроенным в элементе onchange="JumpToPoint(this.value);
  • 0
    ты прав извини! к сожалению, я не могу помочь ему намного дальше без дополнительной информации.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню