JS调用后台数据查询,让查询到的数据在下拉列表里显示

画面上有一个text文本框,一个下拉列表
在文本框里输入一个数据,由后台执行SQL语句,通过数据查询得到一个结果集,list类型的
画面上不点任何按钮的情况下,把查询出的结果集显示在下拉列表里
本人感觉能用JS实现,但JS一点都不会,跪求高手能把详细代码发给我,十分感谢

/**
 * @author zhou2003737
 * @date  2014/09/25 16:39
 */
<html doctype="html">
    <head>
        <title></title>
        <script type="text/javascript">
                window.onload = function(){
                    //获取文本框对象
                    var searchText = document.getElementById("searchText");
                    //获取提交button对象
                    var action = document.getElementById("action");
                    //获取要增加到的下拉列表对象
                    var selections = document.getElementById("selections");
                    //点击提交的时候执行的方法
                    action.onclick = function(){
                        //如果文本框对象中值不为空
                        if(searchText.value ){
                            //根据文本框中的值循环5次
                            for(var i =5;i>0;i--){
                                //设置下拉列表中的值的属性
                                var option = document.createElement("option");
                                    option.value = searchText.value + i;
                                    option.text= searchText.value+i;
                                //将option增加到下拉列表中。
                                selections.options.add(option);
                            }
                        }
                    }
                }
            //思路如上。你可以将点击时将文本框中值传到后台,后台返回数据后,在将数据存入下拉列表对象中。
        </script>
    </head>
    <body>
        <p><input type="text" placeholder="请输入查询对象" autofocus  id="searchText"/></p>
        <p><input type="button" id="action" value="提交"/></p>
        <p><select id="selections">

        </select></p>
    </body>
</html>

追问

在文本框上入力一个值,正常情况下入力的值是后台查询SQL的一个参数,返回一个结果集,结果集显示在下拉列表中。但我想要的效果是在文本框上入力一个值,画面上任何按钮都不点击,结果集就能显示下拉列表中
就好像二级联动那样

追答

你不执行action如何知道何时要和后台交互呢?也就是说,你如何才能判断你输入完成?何时向后台提交?2级联动是在selection上面操作,他有change事件。当然text也有change事件,但是这样的话会有很多无用的请求啊。

ps:以上代码的 申明有误,刚看出来。应该是

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-31

首先自定义一个ajax获取要显示在html页面上的数据的方法,例如方法getdata,这个方法把获取的返回值,通过js动态的显示到html页面要显示的区域,然后再写一个js定时器来实现实时调用数据,

示例:

<script> 


//定时器 异步运行

function hello(){

alert("hello");

}

var t2 = window.setTimeout("hello()",3000);   //定时器

//window.clearTimeout(t2);//去掉定时器

</script>

把里面的hello方法换成你ajax获取数据的方法名,然后改下定时器里面的方法名和时间,这里设置的是3秒钟执行一次可以设置成你自己要的数据,就实现了你要的页面实时调用数据了。

本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网