当用户在文本框中输入超过5个字符时,我正在尝试运行jQuery函数。到目前为止,我设法让我的脚本使用keyup函数运行,但这会导致脚本在用户键入第一个字符时运行,我只希望它在用户输入5时运行或更多人物。
这是我的代码,我是jquery的新手,所以如果有人可以告诉我哪里出错了,我会非常感激。提前谢谢,
<script type="text/javascript">
$(function() {
//alert('Document is ready');
$('#search').keyup(function() {
if ($("#search").val().length > 3)
var sel_stud = $(this).val();
//alert('You picked: ' + sel_stud);
$.ajax({
type: "POST",
url: "include/fetch_search.php",
data: 'theOption=' + sel_stud,
success: function(whatigot) {
//alert('Server-side response: ' + whatigot);
$('#search_results').html(whatigot);
$('#theButton').click(function() {
alert('You clicked the button');
});
} //END success fn
}); //END $.ajax
})}; //END dropdown change event
}); //END document.ready
</script>
答案 0 :(得分:2)
试试这个。你忘了把密钥放在if语句上。
<script type="text/javascript">
$(function() {
//alert('Document is ready');
$('#search').keyup(function () {
if($("#search").val().length > 5) {
var sel_stud = $(this).val();
$.ajax({
type: "POST",
url: "include/fetch_search.php",
data: 'theOption=' + sel_stud,
success: function(whatigot) {
//alert('Server-side response: ' + whatigot);
$('#search_results').html(whatigot);
$('#theButton').click(function() {
alert('You clicked the button');
});
} //END success fn
}); //END $.ajax
}
})}; //END dropdown change event
}); //END document.ready
</script>
这就是你所拥有的:
if($("#search").val().length > 3)
如果if语句不会做任何事情,你必须在其中包含一些代码,这就是上面的代码所做的(并为5:S改变了3)。
答案 1 :(得分:1)
您需要签入5而不是3
if ($("#search").val().length >=5)
这一行
})}; //END dropdown change event
应修改为此
}); //you just added an extra } at the end
我觉得休息很好
答案 2 :(得分:0)
$(function() {
$('#search').keyup(function (e) {
if($(this).val().length >= 5)
alert('5th character entered');
})
}); //END document.ready
还从代码中删除额外的结束花括号:
}); //END dropdown change event
而不是
})}; //END dropdown change event