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;"> *</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;

@Override
public 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 {

// 获取ActionType
String 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异步读取后台传递回的下拉选项的值方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 下拉菜单的级联操作(ajax)

    在开发中常常会遇到菜单的级联操作,比如:国家.城市.乡镇的选择等.当选中某个国家的时候,后面的菜单会把该国家内的城市罗列出来,当选中城市的时候,后面的菜单会把对应的乡镇列出来. 解决这种菜单的级联操作的办法,我理解的有两种: ①使用js来实现,把页面所用到的级联数据放到js内,当页面加载完成后,通过js显示到对应的select内,这种方法的解决办法有很多种,最为直观的一种是放到多维数组中,每个人的思维不一样,这里就不详细解说. ②使用ajax异步动态加载,然后显示到对应的select内,这种方法

  • ajax请求后台得到json数据后动态生成树形下拉框的方法

    如下所示: <select id="cc" class="easyui-combotree" style="width:580px;" name="rempId" data-options="required:true"></select> <script> $(function(){ $.ajax({ url:"departmentAction_getAllD

  • ajax实现动态下拉框示例

    许多页面上都涉及有下拉框,即select标签.对于简单的下拉框,被选择的数据是不需要改变的,我们可以用<option></option>写死.这样下拉框的数据永远都是那几条. 示例: <select> <option>信息一</option> <option>信息二</option> <option>信息三</option> <option>信息四</option> <

  • ajax提交到java后台之后处理数据的实现

    环境:eclipse+struts 要实现的效果:点击按钮提交数据到后台之后回到前台显示出来数据 index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN&quo

  • 利用ajax传递数组及后台接收的方法详解

    前言 我们在使用ajax异步的提交多选框得到需要操作的对象的id,这时我们可以把每一个id做出一个对象,之后放到一个数组中,再使用JSON.stringify()对这个数组进行json的格式化:在后台中再inputStream中解析出我们的json字符串,之后只用: new JSONArray()得到json数组,循环解析我们想要的属性: var countsCheckBox = $("input[type='checkbox']:checked"); var booksid = []

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

    jsp中html相关代码 <tr> <td class="tdcell_word2">请选择展会:</td> <td class="tdcell_word3" colspan="3"> <select name="select" id="jieci" onchange="getChange()"> <option valu

  • angularjs 动态从后台获取下拉框的值方法

    angularjs 动态从后台获取下拉框的值,只要是使用repeat指令,后台提供的是一个list的对象,里面包含value和显示的值,如下: js文件: //职务等级和档次/军衔等级和档次,需要从后台获取:poslist,type:2/3/4/5 $scope.getDyActivityInforItems=function(){ serviceData.getData('inforinput/getAllSelectValueByType','POST',{ type:2 }).then(f

  • 微信小程序自定义select下拉选项框的方法

    本文实例为大家分享了微信小程序自定义select下拉选项框的具体代码,供大家参考,具体内容如下 第一步:创建组件所需的文件 第二步:开始配置组件 select.json {   "component": true,   "usingComponents": {     "select": "./select"   } } 第三步:自定义组件样式及js select.wxml <view class='com-select

  • 关于Ajax异步请求后台数据进行动态分页功能

    ajax请求后台拿到json类型的数据后,可以在它的success回调方法中进行动态分页,也就是表格重绘,此时,我们需要得到的数据包括:查询得到的数据.数据总条数.总页数.当前页数,其中前三条可在后台获取,对于当前页数,需要从前端获取点击页数再通过请求传递给后台,后台做完相应处理后再传回给前端. 请看如下例子: /** * * @param page 当前页 */ function getData(page){ var schoolid = $("#schoolid option:selecte

  • php ajax异步读取rss文档数据

    RSS(Really Simple Syndication)是一种描述和同步网站内容的格式,是使用最广泛的XML应用.RSS搭建了信息迅速传播的一个技术平台,使得每个人都成为潜在的信息提供者. 本文实例为大家分享了php ajax异步读取rss文档数据的相关代码,供大家参考,具体内容如下 代码如下: index.html <html> <head> <script> function showRSS(str) { if (str.length==0) { documen

  • aspx后台传递Json到前台的两种接收方法推荐

    第一种:前台接收 dataType: "json", success: function (data) { var varReceiver = data; } <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="echart2.aspx.cs" Inherits="RTC.echart2" %> <!DOCTYPE html&

  • layui 根据后台数据动态创建下拉框并同时默认选中的实例

    第一步 form表单里写好一个下拉框 <div class="layui-form-item"> <label class="layui-form-label">下拉选择框</label> <div class="layui-input-block"> <select id="selectId" name="interest" lay-filter=&q

  • Ajax实现简单下拉选项效果【推荐】

    基本都是固定步骤!主要在JAVASCRIPT和PHP中的操作 1.HTML代码里就只有两个SELECT标签如下: <select id="province"> <option>请选择</option> </select> <select id="city"> <option>请选择</option> </select> 2.Javascript中进行创建选项和执行AJAX

  • Ajax实现列表无限加载和二级下拉选项效果

    Ajax做列表无限加载和Ajax做二级下拉选项,供大家参考,具体内容如下 //栏目Ajax做加载 public function ajaxlist(){ //echo "http://www.域名.com/index.php?a=Index&c=Index&m=ajaxlist"; //echo "<hr>"; $data = Q('sum'); $where = array(); $where['cid'] = 33; $rongyuL

  • 浅谈Vue Element中Select下拉框选取值的问题

    之前写了.一个原生的select的,因为展示效果原因,给删除掉了,忘记保存代码了,现在大家展示使用elementUI的下拉框封装一个组件,供咱们项目中经常调用,减少代码量. html: <el-select v-model="ite" placeholder="请选择" value-key="mateGroup"> <el-option style="width: auto" :disabled="

随机推荐