jsp下拉框取值问题!求高手指教,在线等!
我要做两个下拉框,一个下拉框是二级类别,一个是三级类别,首先二级类别是从数据库中查出放在下拉列表中,三级类别要求按选中的二级类别去数据库中查找选中二级类别下的三级类别,并...
我要做两个下拉框,一个下拉框是二级类别,一个是三级类别,首先二级类别是从数据库中查出放在下拉列表中,三级类别要求按选中的二级类别去数据库中查找选中二级类别下的三级类别,并放在下拉框中。下边的代码是我取二级类别并显示的代码,选择二级类别后,通过onchange转到JS中可以取得该二级类别,请问下接下来该如何写?我在JS中取得了选中的二级类别,我又如何取查数据库执行SQL去查找该二级类别下的三级类别,麻烦给我思路,或者整体帮我换个思路,谢谢了
<html:select property="sheet.cargoclass2" onchange="fun(this);">
<html:option value="0" >全部</html:option>
<%java.util.List list = (java.util.List)session.getAttribute("class2");
for(int i=0;i<list.size();i++){
String[] str = (String[])list.get(i);
%>
<html:option value="<%=str[1] %>" ><%=str[0] %></html:option>
<%} %>
</html:select> 展开
<html:select property="sheet.cargoclass2" onchange="fun(this);">
<html:option value="0" >全部</html:option>
<%java.util.List list = (java.util.List)session.getAttribute("class2");
for(int i=0;i<list.size();i++){
String[] str = (String[])list.get(i);
%>
<html:option value="<%=str[1] %>" ><%=str[0] %></html:option>
<%} %>
</html:select> 展开
4个回答
展开全部
用jquery实现
<select id="cat2"></select>
<span id="cat3_t"></span>
<script type="text/javascript">
jQuery(function($){
$('#cat2').change(function(){
$.ajax({
url : 'cat3.jsp',
dataType : 'html',
cache : false,
method : 'post',
data : {catid : $(this).val()},
error : function(a,b,c){ alert('Error');},
success : function(data,s){
$('#cat3_t').html(data);
}
});
});
});
</script>
cat3.jsp 获取cat3的分类生成诸如如下数据
<select id="cat3"></select>
还有一个实现方法,使用dwr,这个和java配合功能超级强大,具体怎么实现,可以百度
<select id="cat2"></select>
<span id="cat3_t"></span>
<script type="text/javascript">
jQuery(function($){
$('#cat2').change(function(){
$.ajax({
url : 'cat3.jsp',
dataType : 'html',
cache : false,
method : 'post',
data : {catid : $(this).val()},
error : function(a,b,c){ alert('Error');},
success : function(data,s){
$('#cat3_t').html(data);
}
});
});
});
</script>
cat3.jsp 获取cat3的分类生成诸如如下数据
<select id="cat3"></select>
还有一个实现方法,使用dwr,这个和java配合功能超级强大,具体怎么实现,可以百度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两种思路:
1.动态实时获取会用到AJAX。
2.页面载入时就组织成格式串存储到页面中,通过页面脚本去截取。
1.动态实时获取会用到AJAX。
2.页面载入时就组织成格式串存储到页面中,通过页面脚本去截取。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
动态的联动效果需要使用Ajax
.
当select1的值改变时,通过ajax请求后台获取选中类别的所有子类别,可以直接在后台组装option的字符串,也可以返回json或数组格式的字符串,后台输出结果.
前台获取数据后进行相应处理后,添加到select2中..
.
当select1的值改变时,通过ajax请求后台获取选中类别的所有子类别,可以直接在后台组装option的字符串,也可以返回json或数组格式的字符串,后台输出结果.
前台获取数据后进行相应处理后,添加到select2中..
追问
能给写个小例子么?不是很明白
追答
package com.example.servlet;
import ...
public class SelectOptionsServlet extends HttpServlet {
static Map data = new HashMap();
static {
data.put("month", new String[] { "1月", "2月", "3月", "4月" });
data.put("week", new String[] { "星期1", "星期2", "星期3", "星期4" });
}
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String parent = request.getParameter("parent");
// 查询数据
String[] arr = data.get(parent);
StringBuilder options = new StringBuilder();
if (arr != null) {
for (int i = 0; i %s",
i, arr[i]));
}
}
out.println(options.toString());
out.flush();
out.close();
}
}
======================================================
function load(e) {
$.get("servlet/SelectOptionsServlet", {
parent : $('#parent').val()
}, function(data) {
$('#childs').html(data);
});
}
月
星期
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
今天刚看了点ajax,用XMLHttpRequest对象将数据发给servlet进行处理。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询