画面上有一个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:以上代码的 申明有误,刚看出来。应该是
首先自定义一个ajax获取要显示在html页面上的数据的方法,例如方法getdata,这个方法把获取的返回值,通过js动态的显示到html页面要显示的区域,然后再写一个js定时器来实现实时调用数据,
示例:
<script>
//定时器 异步运行
function hello(){
alert("hello");
}
var t2 = window.setTimeout("hello()",3000); //定时器
//window.clearTimeout(t2);//去掉定时器
</script>
把里面的hello方法换成你ajax获取数据的方法名,然后改下定时器里面的方法名和时间,这里设置的是3秒钟执行一次可以设置成你自己要的数据,就实现了你要的页面实时调用数据了。
本回答被网友采纳