当用户在文本框中输入超过5个字符时执行功能

时间:2015-01-23 11:47:42

标签: jquery

当用户在文本框中输入超过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>

3 个答案:

答案 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