通过在jquery中添加函数发送ajax请求来加载数据库数据,以json的格式发送到页面
从数据库中查询仓库信息,显示在下拉菜单中:
首先,引入js插件,这里使用jquery-1.8.3.js
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.js"></script>
当页面加载完成后,就应该发送ajax请求到数据库,来加载数据到下来菜单中
故这是一个页面加载事件
$(function(){
//dom初始化后加载
//$.post(请求url,请求参数,回调函数,返回的类型);
$.post("${pageContext.request.contextPath}/store_listAjax.action",function(data){
//data:转换后的对象:json对象数组-dom对象
alert(data);
});
});
</script>
这时候响应到页面的应该是json格式的数据
所以在store_listAjax.action中的返回的结果集类型必须为json格式
其对应在struts.xml中的结果集类型
当上面都完成后,这时候就需要把返回到页面的json格式的数据data放到下拉菜单中
根据jquery API 可以找到 $(object).each([callback])的方法,这是又一个通用方法,可用于遍历对象和数组,object是需要遍历的对象或者数组,callback是每一个成员/元素需要执行的回调函数
将alert(data)替换成以下代码
$(data).each(function(){
var option=$("<optionvalue=‘"+this.id+"‘>"+this.name+"</option>");
//添加到下拉列表中
$("#store_id").append(option);
});
这时候就可以把数据库中的数据添加到下拉菜单中