Estoy tratando de mostrar / ocultar un botón cuando la entrada asociada con él está vacía (barra de búsqueda en este caso).
Estoy usando este Javascript:
if(!$(".sb-search-input").val()){
$(".sb-search-submit.button-search").hide();
}
else {
$(".sb-search-submit.button-search").show();
}
y mi HTML:
<div id="sb-search" class="sb-search">
<form>
<input class="sb-search-input" placeholder="Szukaj..." type="search" value="" name="search" id="search" onkeyup="buttonUp();" required>
<input class="sb-search-submit button-search" type="button" value="">
</form>
</div>
El botón de búsqueda sb-search-submit siempre está deshabilitado y no se habilita cuando sb-search-input tiene un valor.
Respuestas
3 para la respuesta № 1Tratar de utilizar input
evento e.target.value.length === 0
a if
condición; .trigger()
llamar input
controlador de eventos en $(document).ready()
alias $(function() {})
$(function() {
$(".sb-search-input").on("input", function(e) {
if (e.target.value.length === 0) {
$(".sb-search-submit.button-search").hide();
} else {
$(".sb-search-submit.button-search").show();
}
}).trigger("input")
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="sb-search" class="sb-search">
<form>
<input class="sb-search-input" placeholder="Szukaj..." type="search" value="" name="search" id="search" required>
<input class="sb-search-submit button-search" type="button" value="">
</form>
</div>