jquery動態載入select下拉框範例程式碼

來源:互聯網
上載者:User

jquery動態載入select下拉框範例程式碼

 動態載入select下拉框的實現方法有很多,在接下來的文章中為大家介紹下jquery是如何?的

如題,直接上代碼,實戰學習。 

代碼如下:

<head><title>jquery實現動態載入select下拉選項</title> 

<script type="text/javascript"> 

function init(){ 

makemoduleSelect(); 

//載入模板下拉框選項 

function makemoduleSelect(){ 

$.ajax({ 

url : 'indexStatisticsAction_getSelect.jsp', 

data: { page:'clientindexStatistics.jsp',method:'get_modtitlecode'}, 

success : function(result){ 

$("#makemodule").append(result); 

}); 

}</script> 

</head> 

<body onload="init()"> 

下拉框<select name="makemodule" id="makemodule" style='width:130px' onchange='makemoduleSelected()'> 

<option> ------- </option> 

</select></body> 

 

以上html被載入時,由於body標籤裡面設定了onload屬性,則其對應的javascript函數會運行,最後到 function makemoduleSelect(),再來看看這個函數: 

 

url屬性,類似於AJAX的跳轉url,這裡我用了同一個路徑下的jsp頁面(indexStatisticsAction_getSelect.jsp),下面會再展示; 

data屬性,將作為請求的參數,由request擷取; 

success屬性,表示該jquery的ajax請求成功返回後將執行的代碼,這裡的$("#makemodule")指的是下拉框。 

 

下面是ajax請求的url所對應的jsp,這裡刪掉了JDBC相關的包,自行引入嘛,JDBC的就不多說了,根據需要把商務邏輯碼出來吧。 

代碼如下:

<%@ page import="java.util.*"%> 

<%@ page import="java.sql.ResultSet"%> 

<%@ page import="java.io.PrintWriter"%> 

<% 

String userId = (String) session.getAttribute("userid"); 

String method = request.getParameter("method"); 

String fromPage = request.getParameter("page"); 

String sql1 = "select modtitlename,modtitlecode from makemodule where userid = '?userId?' and modulename_en='?modulename_en?' group by modtitlename "; 

System.out.println("---getting select_option from:"+fromPage+"----" + new Date()); 

 

//擷取模板選項 

if(method.equals("get_modtitlecode")){ 

String sql = sql1.replace("?userId?",userId); 

if(fromPage.equals("acindexStatistics.jsp")){ 

sql = sql.replace("?modulename_en?","acsta"); 

}else if(fromPage.equals("apindexStatistics.jsp")){ 

sql = sql.replace("?modulename_en?","apsta"); 

}else if(fromPage.equals("clientindexStatistics.jsp")){ 

sql = sql.replace("?modulename_en?","terminalsta"); 

System.out.println(sql); 

StringBuffer rsOption = new StringBuffer(); 

Db db = new Db(); 

try { 

db.prepareQuery(); 

ResultSet rs = db.executeQuery(sql); 

while (rs!=null && rs.next()) { 

rsOption.append("<option value='"+rs.getString("modtitlecode")+"'>"+StringOperator.ISO2GB(rs.getString("modtitlename"))+"</option>"); 

rs.close(); 

} catch (Exception e) { 

e.printStackTrace(); 

} finally { 

db.endQuery(); 

PrintWriter pout = response.getWriter(); 

pout.write(rsOption.toString()); 

pout.flush(); 

pout.close(); 

%> 

 

上面的sql語句將取出兩個值,分別為select下拉框的顯示值和真值,套個<option>標籤回傳就可以了。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.