Ajax动态为下拉列表添加数据的实现方法

1. 前台jsp,新建一个下拉控件

<select id="seldvd" onChange="sel_onchange(this)"></select> 

2. js部分,建一个function方法,利用ajax,指向 'getAllTypes.action' 的servlet部分,获取传来的下拉列表的数据,动态填充

<span style="white-space:pre"> </span>function loadType(){
<span style="white-space:pre">   </span>$.get(
 <span style="white-space:pre">  </span>    'getAllTypes.action',
<span style="white-space:pre">   </span>  function(data){
<span style="white-space:pre">   </span>   var $sel = $("#seldvd");
<span style="white-space:pre">     </span> // console.log(data);
<span style="white-space:pre">   </span>   for(var i = 0;i<data.length;i++){
<span style="white-space:pre">     </span> <span style="white-space:pre">  </span>$item = $("<option></option>"); //添加option
<span style="white-space:pre">     </span> <span style="white-space:pre">  </span>$item.val(data[i].id); //添加option的value ,<span style="line-height: 1.5; white-space: pre-wrap; font-family: Arial, Helvetica, sans-serif;"><span style="font-size:10px;">数据库中用id和type保存的数据</span></span>
<span style="white-space:pre">     </span> <span style="white-space:pre">  </span>$item.html(data[i].type); //添加option数据
<span style="white-space:pre">     </span> <span style="white-space:pre">  </span>$sel.append($item); //将option添加进select
 <span style="white-space:pre">  </span>     }
 <span style="white-space:pre">  </span>    },'json'
 <span style="white-space:pre">  </span>   );
<span style="white-space:pre"> </span>} 

3. 新建一个servlet页面,用来向Ajax返回数据

public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
    request.setCharacterEncoding("utf-8");
    ArrayList<typeInfo> typeList = new ArrayList<typeInfo>();
    typeDao td = new typeDao();
    typeList = td.getAllTypes();
    JSONArray arr = new JSONArray(typeList);//这里导入需要转json数据包
    String jsString = arr.toString();
    //响应到客户端
    request.setCharacterEncoding("utf-8");
    response.setContentType("text/plain;charset=utf-8");
    response.getWriter().print(jsString); //返回下拉列表需要的json格式数据
  } 

4. 那么问题来了,这个数据来源在哪啊?当然在数据库(MySQL)。所以先要写一个方法读取数据库中的数据

<strong>typeInfo.java</strong> 
import java.io.Serializable;
public class typeInfo implements Serializable {
  private int id;
  private String type;
  public int getId() {
    return id;
  }
  public void setId(int id) {
    this.id = id;
  }
  public String getType() {
    return type;
  }
  public void setType(String type) {
    this.type = type;
  }
  public typeInfo(){
  }
  public typeInfo(int id, String type) {
    this.id = id;
    this.type = type;
  }
} 

TypeDao.java  (需要导入JDBC包)

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import model.typeInfo;
public class typeDao extends baseDao {
  public ArrayList<typeInfo> getAllTypes(){
    ArrayList<typeInfo> typeList = new ArrayList<typeInfo>();
    Connection con = null;
    PreparedStatement psm = null;
    ResultSet rs = null;
    try {
      con = super.getConnection();
      psm = con.prepareStatement("select * from types");
      rs = psm.executeQuery();
      while(rs.next()){
        typeInfo types = new typeInfo();
        types.setId(rs.getInt(1));
        types.setType(rs.getString(2));
        typeList.add(types);
      }
    } catch (Exception e) {
      System.out.println("显示所有类型报错:"+e.getMessage());
    }finally{
      super.closeAll(rs, psm, con);
    }
    return typeList;
  //
  }
} 

4. 好了,利用Tomcat ,现在打开网页,下拉列表就能显示数据了

以上所述是小编给大家介绍的Ajax动态为下拉列表添加数据的实现方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • ajax实现输入框文字改变展示下拉列表的效果示例

    1.样式 复制代码 代码如下: <style type="text/css"> <!-- body{background:#fff} .Menu { position:relative; width:180px; height:120px; z-index:1; background: #EEE; border:1px solid #666; margin-top:-100px; display:none; } .Menu2 { position: absolute;

  • 利用AjaxControlToolkit实现百度搜索时的下拉列表提示详细步骤

    AjaxControlToolkit是一组控件的集合,可以实现自动补充文本框,点击文本框弹出日历,加水印等Ajax效果,包含40多个控件,具体实现效果如:http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Default.aspx 像百度搜索一样,根据用户输入自动联想相关词汇,借助AjaxControlToolkit中的AutoCompleteExtender控件很简单的实现,实现效果如下: 详细步骤: 一:Vs中安装AjaxC

  • jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表

    对于问题从后台获取json数据,将内容填充到下拉列表,代码非常简单,具体过程请看下面代码. 需求:url:链接     par:ID       sel:下拉列表选择器 //获取下拉列表 function BuildSelectBox(url, par, sel) { $(sel).empty(); $.getJSON(url, { id: par }, function (json, textStatus) { for (var i = json.length - 1; i >= 0; i--

  • Ajax动态为下拉列表添加数据的实现方法

    1. 前台jsp,新建一个下拉控件 <select id="seldvd" onChange="sel_onchange(this)"></select> 2. js部分,建一个function方法,利用ajax,指向 'getAllTypes.action' 的servlet部分,获取传来的下拉列表的数据,动态填充 <span style="white-space:pre"> </span>fun

  • JavaScript中动态向表格添加数据

    利用JavaScript ,动态向表格中添加数据,其实方法很简单的,下面给大家分享下实现方法 1. 首先先写出表格的表头和主干部分 <table width="600" border="1" cellspacing="0"> <thead> <tr> <th>编号</th> <th>姓名</th> <th>职位</th> <th>

  • ajax动态加载json数据并详细解析

    效果图 jsp代码 <form > 姓名:<input name="name" type="text"/> 年龄:<input name="age" type="text"/> <input type="button" class="get" value="get提交"/> <input type="bu

  • AJAX 动态加载后台数据 绑定select的方法

    直接上代码 是可以用的,后台代码我就不贴了,我相信后台代码大家都会,直接返回json数据,我是前端比较差的,所以喜欢把每次不会的全部记起来 html代码 <select id="select" style="width : 80px;height : 30px;"> //下拉框数据动态加载 </select> js代码 $.ajax({ url: "", //后台webservice里的方法名称 contentType:

  • JQuery Ajax动态加载Table数据的实例讲解

    我们在jsp定义一个select和一个table,要求实现根据select的选值,动态加载table数据. <select id="type" name="type" onchange="reloadTable(this)"></select> <table id="import-table" class="table table-striped table-bordered table

  • vue实现动态列表尾部添加数据执行动画

    目录 动态列表尾部添加数据执行动画 先上动画 动态数据使用wowjs显示动画 1.通过npm安装 2.在main.js中引入animate.css 动态列表尾部添加数据执行动画 先上动画 动态控制节点数量(目前只显示6个节点) 尾部添加几个item,头部则删除几个item 触发 transition-group 动画 splice 的使用方法 代码: <style lang="scss"> .content {   display: flex;   width: 600px

  • 基于layui的下拉列表的数据回显方法

    静态网页+layui渲染 html代码 <div class="layui-form-item"> <label class="layui-form-label">选择框</label> <div class="layui-input-block"> <select id="t" name="quiz2"> <option value=&qu

  • JS动态给对象添加事件的简单方法

    WEB项目中,我们常常会碰到要动态对相应的对象添加事件,如下,有id="txtPrice"的文本框控件: <div> <input type="text" id="txtPrice" name = "txtPrice" value = "0"/> <div> 现在我们为其动态添加一事件,JS核心代码如下: document.getElementById("txt

  • ajax中用josnp接收josn数据的实现方法

    最近在做查快递网页时遇到一个问题,调用的快递100的api,但是快递100api不允许跨域请求,就是用127.0.0.1发的请求会直接被拦截. 只是个简单的网页,不想自己做服务器转发,最后找到了一个yahoo提供的jsonp代理: http://query.yahooapis.com/v1/public/yql var queryUrl = "\"http://www.kuaidi100.com/query?type=" + $("#type").val(

  • Ajax+ASP和Flash+ASP数据读取取方法有些相似的实现方法

    Ajax+ASP和Flash+ASP数据存取方法两种数据存取方法差不多.===============================下面是一个ChatRoom的Ajax部分代码:var ajaxHttpRequest = false;function ajaxInit() { if(window.XMLHttpRequest) { //Mozilla, Opera, ...  ajaxHttpRequest = new XMLHttpRequest();  if(ajaxHttpRequest

随机推荐