亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jQuery實(shí)現(xiàn)動態(tài)加載select下拉列表項(xiàng)功能示例

 更新時(shí)間:2018年05月31日 11:41:34   作者:依依大腳丫  
這篇文章主要介紹了jQuery實(shí)現(xiàn)動態(tài)加載select下拉列表項(xiàng)功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了jQuery動態(tài)加載select下拉列表項(xiàng)的步驟與相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了jQuery實(shí)現(xiàn)動態(tài)加載select下拉列表項(xiàng)功能。分享給大家供大家參考,具體如下:

需求說明:

以前使用的select下拉列表都是靜態(tài)的,select 的option數(shù)據(jù)都是寫死的?,F(xiàn)在項(xiàng)目中的select需要根據(jù)不同的場景使用不同的數(shù)據(jù),解決方式就是動態(tài)加載option數(shù)據(jù)。

代碼部分:

下面步驟介紹了如何從數(shù)據(jù)庫獲取數(shù)據(jù),并動態(tài)的在前端顯示。

步驟一:jsp頁面靜態(tài)的select:

<div>
 <select id="selectSM">
  <option>選擇A</option>
  <option>選擇B</option>
  <option>選擇C</option>
 </select>
</div>

注意:

1、靜態(tài)的select在某些場景下使用是沒有問題的。但是在產(chǎn)品不同的需求時(shí),動態(tài)select更能勝任其多樣性。

2、select有多種寫法,這里是最簡單的。

步驟二:jQuery通過ajax請求獲取動態(tài)的數(shù)據(jù),并在jsp頁面顯示。

function IninDepart(){
 $("#selectSM").remove();//清空select列表數(shù)據(jù)
 var state = 1;
 $.ajax({
  type : "POST",
  url : "<%=basePath%>/getItemDepartList.do",
  dataType : "JSON",
  data : {},
 success : function(msg)
 {
  $("#selectSM").prepend("<option value='0'>請選擇</option>");//添加第一個(gè)option值
  for (var i = 0; i < msg.rows.length; i++) {
  //如果在select中傳遞其他參數(shù),可以在option 的value屬性中添加參數(shù)
  //$("#selectSM").append("<option value='"+msg.rows[i].id+"'>"+msg.rows[i]+"</option>");
  $("#selectSM").append("<option>"+msg.rows[i]+"</option>");
 }
 },error:function(){
 alertLayer("獲取數(shù)據(jù)失敗","error");
 }
 });
}

注意:這里使用的是jQuery、ajax,其他方式也可以實(shí)現(xiàn)。

步驟三:后臺數(shù)據(jù)的處理。

public JSONObject getItemDepartList(HttpServletRequest request) throws Exception{
 //查詢select數(shù)據(jù)
 List<Map<String, Object>> list = appServices.getAppList();
 System.out.println("list::::::::" + list);
 //獲取數(shù)據(jù)存放到數(shù)組
 String[] depart = null;
 for (Map<String, Object> map : list) {
  for (String k : map.keySet()) {
   depart = ((String) map.get(k)).split(",");
   System.out.println("depart::::::::" + depart);
  }
 }
 //去除數(shù)組中重復(fù)數(shù)據(jù),存放到list
 List<String> strList = new ArrayList<String>();
 for (int i=0; i<depart.length; i++) {
  if(!strList.contains(depart[i])) {
   strList.add(depart[i]);
  }
 }
 System.out.println("strList::::::::" + strList);
 jsonObject.put("rows", strList);
 return jsonObject;
}

注意:由于后臺返回?cái)?shù)據(jù)的問題,需要對數(shù)據(jù)進(jìn)行截取并去除重復(fù)數(shù)據(jù)。如果沒有這個(gè)需求,可以直接向前端返回一個(gè)數(shù)組或list即可。下面是不同數(shù)據(jù)的控制臺輸出:

list::::::::[{service_depart=A,B,C,D,E,A,C,D,D,E}]
depart::::::::[Ljava.lang.String;@41fc702b
strList::::::::[A, B, C, D, E]

步驟四:sql查詢語句,這里是把不同字段的值進(jìn)行拼接,返回到controller中的list中。

SELECT GROUP_CONCAT(DISTINCT CONCAT(字段名稱)) AS 字段名稱或別名 FROM 表名

步驟五:這里捎帶說一下,如何獲取select下拉列表選擇的值

//select 的change事件用了獲取下拉列表的值
$(document).on("change","#selectSM",function(){
  //獲取選擇的值
  var condition = $(this).val();
  //其他操作
});

總結(jié):

不同的需求對應(yīng)著不同的數(shù)據(jù)處理和顯示方式。以及不同的代碼實(shí)現(xiàn)方式這里介紹我自己的觀點(diǎn)。

更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery表單(form)操作技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery切換特效與技巧總結(jié)》、《jQuery遍歷算法與技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)

希望本文所述對大家jQuery程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 頁面刷新時(shí)記住滾動條的位置jquery代碼

    頁面刷新時(shí)記住滾動條的位置jquery代碼

    這篇文章主要介紹了點(diǎn)擊按鈕頁面刷新的時(shí)候 記住滾動條的位置,需要的朋友可以參考下
    2014-06-06
  • 一句jQuery代碼實(shí)現(xiàn)返回頂部效果(簡單實(shí)用)

    一句jQuery代碼實(shí)現(xiàn)返回頂部效果(簡單實(shí)用)

    本文主要分享了利用一句jQuery代碼實(shí)現(xiàn)返回頂部效果的實(shí)例。代碼簡單,保存到HTML文件就可以體驗(yàn)效果。下面跟著小編一起來看下吧
    2016-12-12
  • jQuery EasyUI API 中文文檔 - Draggable 可拖拽

    jQuery EasyUI API 中文文檔 - Draggable 可拖拽

    jQuery EasyUI API 中文文檔 - Draggable 可拖拽,使用jQuery EasyUI的朋友可以參考下。
    2011-09-09
  • jQuery bt氣泡實(shí)現(xiàn)懸停顯示及移開隱藏功能的方法

    jQuery bt氣泡實(shí)現(xiàn)懸停顯示及移開隱藏功能的方法

    這篇文章主要介紹了jQuery bt氣泡實(shí)現(xiàn)懸停顯示及移開隱藏功能的方法,通過頁面元素屬性的動態(tài)變換實(shí)現(xiàn)氣泡提示框的效果,需要的朋友可以參考下
    2016-07-07
  • 最新評論