JSP页面中在文本框中输入内容,动态从数据库模糊查询显示到下拉框中。

谁有类似的小例子,简单的哈,发到ms_private@163.com,谢谢
<div class="combobx">
<INPUT id="gysSel" size="10" type="text" name="p_id"><br/>

<select onchange="document.getElementById('gysSel').value=this.value;" style="background:#F0F5F9;margin:-2px">
<option value=""></option>
<%

ConnDB conn=new ConnDB();
String pid=request.getParameter("p_id");
String sql = "SELECT distinct(p_id) FROM product where p_id='%"+pid+"%'";
ResultSet rs2 = conn.doQuery(sql);

while(rs2.next()){
%>
<option value="<%=rs2.getString(1) %>"><%=rs2.getString(1) %></option>
<%} %>
</select>

</div>
谁能帮我看看啊

首先:要想到AJAX,
页面使用ajax调用后台action中的方法,
action中就是个一般的模糊查询方法,返回的是你要查询的list,当然,你也可以使用MAP或者别的,
等ajax回调后,填充到下拉列表中

大致思路是这样,另外你可以在百度上搜个例子,
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-09
其实你可以先写一个空下拉,然后在select当keyup的时候,用ajax获取输入的内容,然后查询数据库,根据查出来的数据集可以重新给下拉菜单赋值的,就可以了,
第2个回答  2013-01-09
<input value="" id="param"/>
<select id="sele">

</select>
$("#param").click({

});
第3个回答  2013-01-09
你补充的,我没有看出有什么问题,
在运行时会出错吗?追问

我的意思是想根据在文本框输入的P_id的值,进行模糊查询,可是出不来结果,一旦我把String sql = "SELECT distinct(p_id) FROM product";中的 where p_id='%"+pid+"%'去掉就会出现结果

追答

p_id='%"+pid+"% 这是匹配查询

p_id like '%"+pid+"% 这是模糊,
刚才没看出来。

追问

哦,呵呵,就是like,,,我写错了,但依旧没结果啊

追答

那你看一下pid是值是什么吧,
没有出异常,也没有出值,只是能是SQL查询的问题了。
你把这个SQL语句打出来,看看是什么

第4个回答  2013-01-09
利用ajax技术来实现吧
相似回答