jsp用ajax级联个下拉菜单.
2个回答
2016-01-12 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
jsp中用ajax实现级联下拉:
参考例子:
1、ajax.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ajax</title>
<script type="text/javascript">
function loadXMLDoc(txt) {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var citys = xmlhttp.responseText.split(',');
document.getElementById("citys").length = 1;
for (i = 0; i < citys.length - 1; i++) {
document.getElementById("citys").add(new Option(citys[i], citys[i]));
}
// document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax/getdata.aspx?pro="+txt, true);
xmlhttp.send();
}
</script>
</head>
<body>
<h2>AJAX</h2>
<select id="Select1" onchange="loadXMLDoc(this.value)">
<option>请选择省份</option>
<option value="1">江苏</option>
<option value="2">上海</option>
</select>
<select id="citys">
<option>请选择城市</option>
</select>
<div id="myDiv"></div>
</body>
</html>
后台取数据代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ajax_getdata : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string[] js=new string[]{"南京", "苏州", "常州" , "无锡" , "镇江"};
string pro=Request.QueryString["pro"];
if (pro == "1")
{
string temp = "";
for (int i = 0; i < js.Length; i++)
{
temp = temp + js[i];
temp = temp + ",";
}
Response.Write(temp);
}
else
Response.Write("");
}
}
参考例子:
1、ajax.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ajax</title>
<script type="text/javascript">
function loadXMLDoc(txt) {
var xmlhttp;
if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var citys = xmlhttp.responseText.split(',');
document.getElementById("citys").length = 1;
for (i = 0; i < citys.length - 1; i++) {
document.getElementById("citys").add(new Option(citys[i], citys[i]));
}
// document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax/getdata.aspx?pro="+txt, true);
xmlhttp.send();
}
</script>
</head>
<body>
<h2>AJAX</h2>
<select id="Select1" onchange="loadXMLDoc(this.value)">
<option>请选择省份</option>
<option value="1">江苏</option>
<option value="2">上海</option>
</select>
<select id="citys">
<option>请选择城市</option>
</select>
<div id="myDiv"></div>
</body>
</html>
后台取数据代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class ajax_getdata : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string[] js=new string[]{"南京", "苏州", "常州" , "无锡" , "镇江"};
string pro=Request.QueryString["pro"];
if (pro == "1")
{
string temp = "";
for (int i = 0; i < js.Length; i++)
{
temp = temp + js[i];
temp = temp + ",";
}
Response.Write(temp);
}
else
Response.Write("");
}
}
展开全部
参考如下应该能做出来了。
function loadSec(id){
$.getJSON(
"your URL",
{"id":id},
function(data){
var obj=data;
for(var i=0;i<obj.length;i++){
var opt_str="<option value="+obj[i].id+">"+obj[i].value+"</option>";//拼成option对象
var $opt=$(opt_str);
$("#indSec").html("<option value='0000000'>所有</option>");
$("#indSec").append($opt);
}
}
);
}
function loadSec(id){
$.getJSON(
"your URL",
{"id":id},
function(data){
var obj=data;
for(var i=0;i<obj.length;i++){
var opt_str="<option value="+obj[i].id+">"+obj[i].value+"</option>";//拼成option对象
var $opt=$(opt_str);
$("#indSec").html("<option value='0000000'>所有</option>");
$("#indSec").append($opt);
}
}
);
}
追问
直接用这个jquery的请示就可以了吗?
追答
你只要在第一级你的选项或者列表在选择的情况下触发这上面我发给你的请求,这样级联的菜单选项就会根据你的请求结果拼出"+obj[i].value+"。这个就是选项了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询