怎样用js实现数据库绑定到下拉框

怎样用js实现数据库绑定到下拉框,第1张

需要先用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() + "}")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10061496.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存