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>';

有没有可能模拟这个焦点?因为只有第一次点击是聚焦值 - 第二次,第三次等总是选择正确的值

我发现问题出在这个函数上:

    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)
                    );
                }
            });
        });
    });
};

但我不知道在哪里

提前感谢您的帮助。

4

2 回答 2

0

我不明白为什么你不只是为你的 jQuery 事件使用“更改”事件而不是“点击”事件,所以使用你提交的代码并假设你正在使用 jQuery 试试这个:

<script type="text/javascript">
$(document).ready(function() {
   $('#selector<?php echo $i ?>').change(function() {
      /** change map code goes here **/
   });
});
</script>
于 2013-09-24T13:31:29.723 回答
0

在while循环之前添加这一行。我认为这对你有帮助。

回声'---选择----';

于 2013-09-24T14:07:18.503 回答