Ajax实现三级联动
2014-03-13 20:18
197 查看
Ajax代码:
<script type="text/javascript">
//根据选择的汽车品牌来自动填充汽车型号的下拉列表
function getSerie(){
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
var carSerie = document.getElementById("carSerie");
var serieIdAndName = xhr.responseText;
var series = serieIdAndName.split(",");
clearSelect("carSerie");
for(var i = 0;i<series.length-1;i=i+2){
carSerie.options[carSerie.length]=new Option(series[i+1],series[i]);
}
}
}
xhr.open("GET","${pageContext.request.contextPath}/servlet/AllCarServlet?brandId="+document.getElementById("carBand").value,true);
xhr.send();
}
//根据选择的汽车系列来填充车型的下拉列表
function getModel(){
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
var carModel = document.getElementById("carModel");
var modelIdAndName = xhr.responseText;
var models = modelIdAndName.split(",");
clearSelect("carModel");
for(var i = 0;i<models.length-1;i=i+2){
carModel.options[carModel.length]=new Option(models[i+1],models[i]);
}
}
}
xhr.open("GET","${pageContext.request.contextPath}/servlet/AllCarServlet?serieId="+document.getElementById("carSerie").value,true);
xhr.send();
}
//清空下拉列表
function clearSelect(id){
var select = document.getElementById(id);
select.options.length = 0;
select.options[0] = new Option("--请选择车系--","0");
var select = document.getElementById("carModel");
select.options.length = 0;
select.options[0] = new Option("--请选择车型--","0");
}
$(function(){
$("#submit").click(function(){
var mId = $("#carModel").val();
window.location.href="${pageContext.request.contextPath}/servlet/ShowCarModelDetailServlet?id="+mId;
});
});
</script>
html代码:
<select id="carBand" onchange="getSerie()">
<option value="0">--请选择汽车品牌--</option>
<c:forEach items="${list }" var="carBand">
<option value="${carBand.id }">${carBand.name }</option>
</c:forEach>
</select>
<select id="carSerie" onchange="getModel()">
<option value="0">--请选择汽车系列--</option>
</select>
<select id="carModel">
<option value="0">--请选择汽车型号--</option>
</select>
<button id="submit">确定</button>
后台用servlet的话,获取参数用request.getParamter("参数名")就能获得参数值了
<script type="text/javascript">
//根据选择的汽车品牌来自动填充汽车型号的下拉列表
function getSerie(){
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
var carSerie = document.getElementById("carSerie");
var serieIdAndName = xhr.responseText;
var series = serieIdAndName.split(",");
clearSelect("carSerie");
for(var i = 0;i<series.length-1;i=i+2){
carSerie.options[carSerie.length]=new Option(series[i+1],series[i]);
}
}
}
xhr.open("GET","${pageContext.request.contextPath}/servlet/AllCarServlet?brandId="+document.getElementById("carBand").value,true);
xhr.send();
}
//根据选择的汽车系列来填充车型的下拉列表
function getModel(){
var xhr;
if(window.XMLHttpRequest){
xhr = new XMLHttpRequest();
}else{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
xhr.onreadystatechange=function(){
if(xhr.readyState==4 && xhr.status==200){
var carModel = document.getElementById("carModel");
var modelIdAndName = xhr.responseText;
var models = modelIdAndName.split(",");
clearSelect("carModel");
for(var i = 0;i<models.length-1;i=i+2){
carModel.options[carModel.length]=new Option(models[i+1],models[i]);
}
}
}
xhr.open("GET","${pageContext.request.contextPath}/servlet/AllCarServlet?serieId="+document.getElementById("carSerie").value,true);
xhr.send();
}
//清空下拉列表
function clearSelect(id){
var select = document.getElementById(id);
select.options.length = 0;
select.options[0] = new Option("--请选择车系--","0");
var select = document.getElementById("carModel");
select.options.length = 0;
select.options[0] = new Option("--请选择车型--","0");
}
$(function(){
$("#submit").click(function(){
var mId = $("#carModel").val();
window.location.href="${pageContext.request.contextPath}/servlet/ShowCarModelDetailServlet?id="+mId;
});
});
</script>
html代码:
<select id="carBand" onchange="getSerie()">
<option value="0">--请选择汽车品牌--</option>
<c:forEach items="${list }" var="carBand">
<option value="${carBand.id }">${carBand.name }</option>
</c:forEach>
</select>
<select id="carSerie" onchange="getModel()">
<option value="0">--请选择汽车系列--</option>
</select>
<select id="carModel">
<option value="0">--请选择汽车型号--</option>
</select>
<button id="submit">确定</button>
后台用servlet的话,获取参数用request.getParamter("参数名")就能获得参数值了
相关文章推荐
- PHP+ajax实现省市县三级联动
- Ajax和数据库实现三级联动
- Ajax无刷新技术实现省市县三级联动下拉菜单--Asp.Net
- AjaxPro 实现 三级联动菜单时,出现二级select 闪烁问题
- Jquery+Ajax+XML实现国家、省、市的三级联动
- 用php和ajax写一个省市区的三级联动,实现地区的下拉选择
- AJAX实现三级联动(关键代码)
- 使用AJAX+php+mysql实现省市县三级联动
- ASP.NET MVC + Jquery 实现Ajax下拉框数据三级联动
- 基于jQuery的AJAX实现三级联动菜单
- 轻松实现无刷新三级联动菜单[VS2005与AjaxPro]【转】
- JS和Ajax 实现三级联动的下拉选择
- ajax——实现三级联动下拉列表
- Ajax技术实现三级联动下拉框
- 通过AJAX调用页面后台代码方法实现省级三级联动效果 (简单练习)前台
- 使用AJax和JavaScript实现省市区三级联动
- 原生javascript AJAX 三级联动的实现代码
- jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
- Ajax实现简易的三级联动
- 轻松实现无刷新三级联动菜单[VS2005和AjaxPro] (转)