javascript - 自动完成不隐藏

标签 javascript jquery

我正在使用 JQuery 创建自动完成输入文本。 问题是删除输入后,结果仍然显示:

这是脚本:

function autocomplet() {

    var min_length = 0; // min caracters to display the autocomplete
    var keyword = $('#especialidad_doctor').val();
    if (keyword.length >= min_length) {
        $.ajax({
            url: 'buscar_especialidad.php',
            type: 'POST',
            data: {keyword:keyword},
            success:function(data){
                $('#especialidad_id').show();
                $('#especialidad_id').html(data);
            }
        });
    } else {
        $('#especialidad_id').hide();
    }
}

这是 HTML 部分:

<div class="row" >
    <div class="col-sm-12 col-lg-6" >
        <div class="form-group">
            <div class="input_container">
                 <label for="inputEmail">¿Cuál es la especialidad que buscas? 
                 </label>
                 <input type="text" class="form-control" id="especialidad_doctor" autocomplete="off" name="especialidad_doctor"  onkeyup="autocomplet()" placeholder="Ejemplo: Pediatría" required>
                <ul id="especialidad_id"></ul>
            </div>
        </div>
    </div>
</div>

如何解决这个问题?

最佳答案

删除等号。如果您的输入没有字符,则其长度为0,因此与>= min_length 相比,它返回​​true。所以 else, block 将不再起作用

if (keyword.length > min_length) {

}

关于javascript - 自动完成不隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41648618/

相关文章:

javascript - 如何实现类似 www.igoogle.com 的东西?

javascript - 我如何在 typescript 中使用 firefox require 函数

javascript - 从 pre/code 标签中删除空格

javascript - 语义 UI 事件

javascript - 在 .html() 标签内格式化 html

javascript - "Floating"带有 HTML/CSS/JavaScript/whatever 的注释

javascript - Vue.js 中的样式元素

javascript - 在 JavaScript 中连接值?

javascript - 滚动时使元素粘在顶部

PHP/MySql/Jquery 脚本与 RAM