我有一个全局搜索input
,当用户开始输入时,应显示隐藏的div
这些结果。
我无法在keyup时显示div。这是我的fiddle
多数民众赞成我的div:
<div class=" container-fluid parent">
<input class="form-control" placeholder="Search ..." id="GlobalSearchInput" style="padding:10px;">
<div class="" id="showSearchDiv" style="display:none;margin-top:10px;height:450px;background-color:red;"></div>
</div
$(document).ready(function() {
$("#GlobalSearchInput").keyup(function() {
function showGlobalSearch() {
var x = document.getElementById('showSearchDiv');
if (x.style.display === 'none') {
x.style.display = 'block';
} else {
x.style.display = 'none';
}
}
});
});
答案 0 :(得分:2)
这是因为在keyup
事件处理程序中,您定义了一个永远不会被调用的showGlobalSearch
。
此处定义函数在此处没有用,除非您在代码中的任何位置都需要相同的代码。
所以,这是更正后的代码。
$(document).ready(function() {
$("#GlobalSearchInput").keyup(function() {
var x = document.getElementById('showSearchDiv');
if($(this).val() == "") {
x.style.display = 'none';
} else {
x.style.display = 'block';
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class=" container-fluid parent">
<input class="form-control" placeholder="Search ..." id="GlobalSearchInput" style="padding:10px;">
<div class="" id="showSearchDiv" style="display:none;margin-top:10px;height:450px;background-color:red;"></div>
</div>
答案 1 :(得分:1)
<强> Working Demo 强>
我有一个全局搜索输入,当用户开始输入时应该 显示带有这些结果的隐藏div
因此,根据我的理解,您需要在用户输入内容时显示div,并在输入任何内容时隐藏它。尝试以下方法。
以下是示例代码
$(document).ready(function() {
$("#GlobalSearchInput").keyup(function() {
if ($.trim($(this).val()).length) {
$('#showSearchDiv').show();
} else {
$('#showSearchDiv').hide();
}
});
});
答案 2 :(得分:1)
两个问题:
function showGlobalSearch() {
(加上相应的}
。)另外,我建议尽可能多地使用jQuery,而不是将其与其他方法混合以访问DOM(所以没有getElementById
)。
结果:
$(document).ready(function() {
$("#GlobalSearchInput").keyup(function() {
var div = $('#showSearchDiv');
if ($("#GlobalSearchInput").val().length > 0) {
div.show();
} else {
div.hide();
}
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container-fluid parent">
<input class="form-control" placeholder="Search ..." id="GlobalSearchInput" style="padding:10px;">
<div class="" id="showSearchDiv" style="display:none;margin-top:10px;height:450px;background-color:red;"></div>
</div>
&#13;
答案 3 :(得分:1)
检查此代码,您的代码有问题 1.需要使用密切标签 并且主要这不需要使用功能来检查这个因为你已经检查了关键功能
$(document).ready(function() {
$("#GlobalSearchInput").keyup(function() {
var input_value = document.getElementById('showSearchDiv');
// when value is not empty then div will show and
//when input value empty then div will hide
if($(this).val() == "") {
input_value.style.display = 'none';
} else {
input_value.style.display = 'block';
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class=" container-fluid parent">
<input class="form-control" placeholder="Search ..." id="GlobalSearchInput" style="padding:10px;">
<div class="" id="showSearchDiv" style="display:none;margin-top:10px;height:450px;background-color:red;"></div>
</div>