我想在为输入元素分配值时自动显示div
。
到目前为止,我正在使用keyup
函数,但仅当我输入值时才有效。如果在没有输入值的情况下将值分配给输入,我如何显示/隐藏div
?
这就是我所拥有的。
<script>
$("#ven_id").keyup(function(){
if($(this).val()) {
$(".inv_item").slideDown(500);
} else {
$(".inv_item").slideUp(500);
}
});
</script>
有什么建议吗?
答案 0 :(得分:1)
考虑使用更改处理程序。 jQuery Documentation
$("#ven_id").change(function(event) {
if(event.target.value) {
$(".inv_item").slideDown(500);
} else {
$(".inv_item").slideUp(500);
}
});
示例Fiddle
答案 1 :(得分:0)
您遇到的问题是,在代码中设置输入值时,不会触发事件。这回答了我相信.val() doesn't trigger .change() in jquery的问题。
弹出窗口设置输入值后,您需要手动触发事件。
$("#ven_id").val("somevalue").trigger("keyup");
答案 2 :(得分:0)
试试这个,愿它可以帮到你。
if($(this).val().length > 0) {
$(".inv_item").slideDown(500);
} else {
$(".inv_item").slideUp(500);
}