需要先用ajax的方式获取数据库的记录 作为数组 然后 将数组内容加入的下拉框中作为选项
<head><meta charset="utf-8">
<title>无标题文档</title>
<script src="http://code.jquery.com/jquery-1.4.1.min.js" type="text/javascript"></script>
<script>
$(document).ready(funxtion{
vat list1=$("#test")//获取list对象
$.get("demo_ajax_load.txt", function(result){ //获取后台数据库记录
for(var i=0,len=result.row.lengthi<result.rowi++){ // result为返回的json对象row为包含选项的数组
var o=new Option(result.row[i].text,result.row[i].value)
list1.appendChild(o)
}
},"json")
})
</script>
</head>
<body>
<select id="test">
<option>1</option>
</select>
</body>
<script language="javascript">$(document).ready(function() {
$.getJSON(
"./manager.htm?actionMethod=onGetTarae",
function(json){
for(i=0i<json.lengthi++){
var tname=json[i].tname
var tid=json[i].id
$("#tarea").append("<option value='"+tid+"'>"+tname+"</option>")
}
})
}
<select id="tarea">
</select>
后台代码返回一个Json格式的字符串,就是把你从数据库中查出来的集合、对象、Map、Page等转成Json。然后就是返回给前台
jsp页面可以利用Ajax来获取数据库数据来:在第一级列表的onchange事件中编写:
//投诉信息来源信息级联
function getTsFromDescribe(ts_describe){
var tsfrom = $("#t_tsfrom").val()
var tstsFrom = $("#ts_tsFrom").val()
Ext.Ajax.request( {
url : '${ctx}/complaints/complaints!getTsFrom.action',
params : {
tsfrom : tsfrom//通过json形式将前台每次获取到的值传递给后台
},
success : function(response) {
var json = Ext.util.JSON.decode(response.responseText)
if (json.success) {
var data = json.<strong>cmList</strong>
if ("" == data) {
alert("请选择投诉类型")
inputForm.t_tsfrom.focus()
$("#ts_tsFrom").empty()//每次需要将上一次的数据进行清空
} else {
$("#ts_tsFrom").empty()
//对获取到的数据进行迭代
for ( var i = 0i <data.lengthi++) {
var id = data[i]
var name = data[i]
$("#ts_tsFrom").append(
"<option value='" + id + "'>" + name + "</option>")
}
dwr.util.removeAllOptions('tstsFrom')
dwr.util.addOptions('tstsFrom', data)
}
}
}
})
}
后台返回数据:
public void getTsFrom() throws Exception {
HttpServletResponse response = ServletActionContext.getResponse()
String ts_names = tsfrom
List<CustomManage>list = complaintsmanager.getTsDescribe(ts_names)
response.setContentType("text/javascript")// 后台控制的代码
PrintWriter writer = response.getWriter()
// 将得到的list集合转为JSON对象传给前台处理
JSONArray j = JSONArray.fromObject(list)
writer.println("{'success':true,'<strong>cmList</strong>':" + j.toString() + "}")
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)