您当前的位置:首页 > 网站建设 > ajax
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

ajax异步读取后台传递回的下拉选项的值方法

51自学网 2022-02-21 10:51:12
  ajax

jsp中html相关代码

<tr>  <td class="tdcell_word2">请选择展会:</td>  <td class="tdcell_word3" colspan="3"><select name="select" id="jieci" onchange="getChange()"><option value="">选择展会</option></select><script Language="JavaScript">loadjieci('- 选择展会 -');</script><span style="color:red;">&nbsp;*</span><span style="font-size:12px;color:red;" id="mesjieci"></span>   </td></tr>

js中相关代码

<script Language="JavaScript">function loadjieci(str) {/** 异步加载届次 */$.getJSON("/DictsAction.do?actionType=jieci",function (responseData, status) {if (status != "") {$("#jieci").empty();$("<option/>").html("- 选择展会 -").val("- 选择展会 -").appendTo("#jieci");$(responseData).each(function (n) {$("<option/>").html(this.name).val(this.code).appendTo("#jieci");});//默认显示请选择$("#jieci").val(str);} else {alert("届次加载失败!");}});}</script>

struts-config.xml中相关配置

<!-- ajax异步加载字典 --><action path="/DictsAction" type="oa.sys016.oagzxxgl.action.DictsAction" scope="request" />

java后台代码

package oa.sys016.oagzxxgl.action;import java.io.PrintWriter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import net.sf.json.JSONArray;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import cn.com.chx.bo.AppBo;/** * 通过ajax加载届次选择下拉列表的选择项 * @author liu * */public class DictsAction extends Action{private AppBo appBo = null;@Overridepublic ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {// 设置编码response.setContentType("application/json;charset=UTF-8");response.setCharacterEncoding("UTF-8");PrintWriter out = response.getWriter();appBo = new AppBo();try {// 获取ActionTypeString actionType = request.getParameter("actionType");if (actionType != null && actionType.equals("jieci")) { // 查询届次String jieciJson = getJieciJson();out.print(jieciJson);}} catch (Exception e) {e.printStackTrace();} finally {out.close();}return null;}private String getJieciJson() {// 查询届次List jieciList;try {jieciList = appBo.query("SELECT ID AS CODE,ZH_NAME AS NAME FROM ZH_GZ_INFOX");List<Map<String, String>> lists = new ArrayList<Map<String, String>>();if (jieciList.size() > 0) {for (int i = 0; i < jieciList.size(); i++) {Map<String, String> maps = new HashMap<String, String>();maps.put("code",(String) ((HashMap) jieciList.get(i)).get("CODE"));maps.put("name",(String) ((HashMap) jieciList.get(i)).get("NAME"));lists.add(maps);}}// [{"id":"1","name":"CIMT2015"},{"id":"2","name":"CCMT2016"}] JSONArray json = JSONArray.fromObject(lists);return json.toString();} catch (Exception e) {e.printStackTrace();}return null;}}

以上这篇ajax异步读取后台传递回的下拉选项的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持51zixue.net。


下载地址:
通过Ajax请求动态填充页面数据的实例
浅析IE浏览器关于ajax的缓存机制
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。