我正在使用 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/