select勾选后利用Ajax获取后端JSON数据并加载到当前另外一个Div中
在做前后端交互的时候,经常会需要用到,将用户勾选的数据,无刷新显示到一个专门区域(类似直接回显的购物车功能),然后给客户提交。这个时候就需要用到AJAX来进行前后端通讯
JavaScript代码:
function onChanges() {
//每次获取数据前先清空div
$("#showList").empty();
//获取select选中的值
var housecode = $("#searchHousecode").val();
//进行判断 不为空进行ajax请求 否则提示没有输入
if (housecode != null && housecode.trim() != "") {
$.ajax({
type : "post",
data:"housecode="+housecode,
url : "HouseRepairController_listPage",
success : function(data) {
//把返回的数据使用each进行遍历读取
$.each(data, function(i,n){
//获得div的id并把需要显示的值追加到div中
$("#showList").append("<div class='repaitList'><ul><li><abbr>"+n.name+
"</abbr><span class='borderRadius5 repaitListSpan1'>"
+n.STATUS+"</span></li><li class='oneEllipis'>"+n.factory_name+
"</li></ul><ul><li class='borderRadius300 btnOKColor' id='sure' name="
+n.goods_code+" onclick='RepairEdit(this)'>报修</li></ul></div>")
})}
});
} else {
alert("房间号不为空 !");
}
}
controller代码:
@RequestMapping(value = "/HouseRepairController_listPage")
@ResponseBody
public Object listPage() throws Exception {
PageData pd = new PageData();
pd = this.getPageData();
IUser user = getApUser();
String id = user.getId();
pd.put("id", id);
pd.get("housecode");
List<PageData> li = FHouseRepair.findGoodInfo(pd);
if (null != li && li.size() > 0) {
pd.put("housecode", li.get(0).getString("house_code"));
}
JSONArray array = JSONArray.fromObject(li);
return array;
}
HTML代码:
<ul style="border: 0rem; width: 100%">
<span style="font-size: 0.8rem;">房间号:</span>
<select style="width: 68%; height: 1.6rem;"
onchange="onChanges();" id="searchHousecode">
<option value="">请选择</option>
<c:if test="${not empty housePd}">
<c:forEach items="${housePd}" var="ls">
<option value="${ls.room_code}">${ls.houseName}</option>
</c:forEach>
</c:if>
<c:if test="${empty housePd}">
<option value="">获取中...</option>
</c:if>
</select>
</ul>
<div id="showList"></div>这个就是实现前后端通讯,并实时回显的功能了,大家可以尝试一下
顶(0)
踩(0)
- 最新评论
