Heim > Backend-Entwicklung > PHP-Tutorial > Ajax fügt Daten dynamisch zur Dropdown-Liste hinzu

Ajax fügt Daten dynamisch zur Dropdown-Liste hinzu

小云云
Freigeben: 2023-03-19 11:26:01
Original
2190 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich die Implementierungsmethode von Ajax vorgestellt, die Daten dynamisch zur Dropdown-Liste hinzufügt. Freunde, die sie benötigen, können darauf verweisen.

1. Erstellen Sie im Front-End-JSP ein neues Dropdown-Steuerelement


<select id="seldvd" onChange="sel_onchange(this)"></select>
Nach dem Login kopieren

2. Erstellen Sie im JS-Teil eine Funktion Methode, verwenden Sie Ajax, zeigen Sie auf „getAllTypes“. Der Servlet-Teil der Aktion ruft die Daten aus der Dropdown-Liste ab und füllt sie dynamisch in


<span style="white-space:pre"> </span>function loadType(){ 
<span style="white-space:pre">   </span>$.get( 
 <span style="white-space:pre">  </span>    &#39;getAllTypes.action&#39;, 
<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>    },&#39;json&#39; 
 <span style="white-space:pre">  </span>   ); 
<span style="white-space:pre"> </span>}
Nach dem Login kopieren

3. Erstellen Sie eine neue Servlet-Seite, um Daten an Ajax zurückzugeben


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格式数据 
  }
Nach dem Login kopieren

4. Die Frage ist also, wo ist die Quelle dieser Daten? Natürlich in der Datenbank (MySQL). Schreiben Sie also zunächst eine Methode zum Lesen der Daten in der Datenbank


<strong>typeInfo.java</strong>
Nach dem Login kopieren


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; 
  } 
}
Nach dem Login kopieren

TypeDao.java (muss importiert werden). JDBC-Paket:


Detaillierte Erläuterung des Hinzufügens einer Dateninstanz durch jQuery EasyUI

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; 
  //  
  } 
}
Nach dem Login kopieren


ASP.NET Hinzufügen einer Dateninstanz zur Datenbank

PHP-Lazy-Person-Funktion fügt automatisch Daten hinzu

Das obige ist der detaillierte Inhalt vonAjax fügt Daten dynamisch zur Dropdown-Liste hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage