1. 程式人生 > >jsp java ajax二級聯動實現

jsp java ajax二級聯動實現

資料庫sql:

 CREATE TABLE `tb_category` (

  `cid` char(40) NOT NULL,
  `cname` varchar(50) DEFAULT NULL,
  `pid` char(40) DEFAULT NULL,
  `desc` varchar(200) DEFAULT NULL,
  PRIMARY KEY (`cid`),
  UNIQUE KEY `cname` (`cname`),
  KEY `FK_t_category_t_category` (`pid`),
  CONSTRAINT `fk_category_category` FOREIGN KEY (`pid`) REFERENCES `tb_category` (`cid`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

jsp:

<tr>
<td style="text-align: right;">所屬一級分類:</td>
<td>

<select id="FirstCate"  name="FirstCate"  style="width: 232px;height: 30px ;font-size: 15px" onchange="changeCategory()">
  
   <option  >----請--選--擇----</option>
   
  <c:forEach items="${listCategory}" var="lc">
   <c:if test="${lc.pid==null}">
    <option value="${lc.cid }"> ${lc.cname }</option>
   </c:if>
   </c:forEach>
</select>
</td>
</tr>

<tr>
<td style="text-align: right;">所屬二級分類:</td>
<td>
<select id="secondTypeId" name="cid"  style="width: 232px;height: 30px" >
<option value="">----請--選--擇----</option>

</select>
</td>

js程式碼:

 <script type="text/javascript">
function changeCategory(){

var cid = $("#FirstCate").val();
$.ajax({
type:'POST',
dataType:'text',//不寫這個會提示下載或者改為json也是
url:'${pageContext.request.contextPath}/admin/video/ajaxFindSecondType',
data:{
cid1 : cid
}, 


success:function(data){

var secondCategoryObj = document.getElementById("secondTypeId");
  secondCategoryObj.innerHTML = "<option value=''>----請--選--擇----</option>";
//解析json為陣列
     var data = eval("("+data+")");     
     var dataList = data.tasks;
     if (dataList!= null) { //如果沒有這一步,js會報length null之類的
     for(var i=0;i<dataList.length;i++)//遍歷
     {
    var categoryObj = dataList[i];
var cid = categoryObj.id;
var cname = categoryObj.name;
          //進行新增到標籤裡
         secondCategoryObj.innerHTML =  secondCategoryObj.innerHTML + "<option value='"+cid+"'>"+cname+"</option>";
         
     }
     }

}
}); 
}
</script>

Controller程式碼:

(1)
//通過url路徑到add_moive頁面,進行新增前準備(先查全部分類並傳遞到jsp,把一級分類的資料顯示出來)
@RequestMapping("/addVideo")
public ModelAndView addVideo()throws Exception{

//查詢所有分類並傳資料到jsp頁面去
List<CategoryCustom> listCategory = categoryService.findAllCategory();


ModelAndView modelAndView = new ModelAndView();

modelAndView.addObject("listCategory", listCategory);

modelAndView.setViewName("admin/yingshi/add_moive");

return modelAndView;
}


(2)

//根據id查詢二級分類(我的分類在同一張表中(注意))。
@RequestMapping("/ajaxFindSecondType")
public @ResponseBody Map<String,Object> findSecondTypeById(String cid1,HttpServletResponse response )throws Exception{

List<TbCategory>  lTbCategories =  categoryService.findCategoryById(cid1);

Map<String,Object> jsonMap = new HashMap<String, Object>();
 
List list = null;

       if(null != lTbCategories && lTbCategories.size()>0){
           list = new ArrayList();
           
           for(TbCategory tbCategory : lTbCategories){
               Map<String,String> taskMap=new HashMap<String,String>();
               
               taskMap.put("id", tbCategory.getCid());
               taskMap.put("name", tbCategory.getCname());
               list.add(taskMap);
           }
       }
       jsonMap.put("tasks", list);
       return jsonMap;
 

}

相關推薦

jsp java ajax二級聯動實現

資料庫sql:  CREATE TABLE `tb_category` (   `cid` char(40) NOT NULL,   `cname` varchar(50) DEFAULT NULL,   `pid` char(40) DEFAULT NULL,   `de

ajax 二級聯動與springmvc 交互

二維碼 gmv 級聯 ajax 二維 管理員 gpo spa ++ html 測試可以使用 <div class="pageButton" style="height: 60px;margin: 10px;line-height: 30px;">

份-城市,基於jQuery的AJAX二級聯動,用Struts2整合AJAX【非數據庫版】

context print oct 佛山 ray 根據 remove back 基於 package loaderman.provincecity; import java.io.IOException; import java.util.LinkedHashS

js的二級聯動實現省份城市的選擇

/* 定義城市 */ var china = [         // 直轄市         [ '北京' ],         [ '上海' ],         [ '天津' ],         [ '重慶' ],         // 華北地區         [ '河北', '石家莊', '唐山'

Ajax二級聯動

1 <%-- 2 Created by IntelliJ IDEA. 3 User: x1c 4 Date: 2019-12-22 5 Time: 10:04 6 To change this template use File | Settings | File Te

二級聯動ajax實現

app attr int inpu .ajax dto top pla end 二級聯動非ajax實現,改改就能用。 html部分代碼 : <tr> <td colspan="2"> <select name="fatherTopicId"

jquery+ajax實現二級聯動

實現效果圖: 前臺頁面: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jquery+ajax實現二級聯動</title>

利用Ajax和JSON實現關於查詢省市名稱的二級聯動功能

  功能實現的思路:我們經常碰見網上購物時候填寫收件地址會用到這個查詢省市縣的三級聯動查詢功能,我們可以利用Ajax和JSON技術模擬這個功能,說白了同樣是使用Ajax的區域性資料更新功能這個特性。因為省市都會有很多個,所以還需要使用JSONArray物件。當我們選擇某一個省的時候,會自動觸發一個區域性更新功

Ajax,js實現省市二級聯動

Ajax,js實現省市二級聯動 這裡不羅嗦,直接放圖,分析。 如圖實現效果。如下: 前端程式碼分析: 後端程式碼,相當簡單,只需要查詢資料庫,省份放一個list集合,城市放一個list集合,回寫響應給前端。 前端通過迴圈,一一獲取。 response.setContentType(“

[java原始碼] Java Web 文章管理系統(Jsp+Ajax+JDBC+MySql實現

本示例是使用JavaWeb技術實現一個簡單的文章管理系統(新聞管理系統)其中主要功能如下: 使用者和管理員登入使用者釋出新文章、文章詳情檢視、文章修改、文章刪除與恢復使用者檢視他人對自己授權的文章及其文章資訊使用者將自己的文章對他人進行授權管理員對普通使用者新發

利用ajax實現二級聯動下拉框

下拉框二級聯動,用ajax來實現是已經非常成熟的技術了。但對於我這個java菜鳥來說,真的是費了九牛二虎之力,各種百度,各種測試。終於得以實現。程式碼相對於網上的容易理解些。現把程式碼和我在編寫的過程中遇到的問題貼出來,對自己也是一個總結,同時也希望能幫助到跟我一樣的菜鳥。

jquery ajax實現省市二級聯動

今天給大家帶來使用jQuery ajax實現的省市聯動效果。我們直奔主題,先說下實現思路: 準備資料 這裡資料庫我使用的是mysql,先看下錶格: provience表 city表 這裡使用provience表的主鍵作為city表的外來鍵,

使用Ajax和Jquery配合資料庫實現下拉框的二級聯動

首先我們需要先建立好資料庫,將一些資料插入進去 需要兩張表: province:省份表 city :          城市表 如圖: 然後再在java中建立相關的實體類與之對應 再然後,我們就能開始做jdbc的操作了 public class ConnectionFa

Java實現資料庫和資料表的二級聯動

實現的效果是獲取Mysql的所有資料庫,然後點選資料庫名就可以實現獲取該資料庫裡的所有表。 主要是用DefaultComboBoxModel來實現,實現思路就是移除之前的模型,然後為這個模型重新新增資料,從而實現了二級聯動。 給出參考程式碼: package com.

jquery $.post() 向php傳值 實現簡單的二級聯動

chang var box jquer lec 簡單 cnblogs encode can 1 其中selectid是一個下拉菜單的id 2 3 $().ready(function () { 4 $("#selectid").change(functi

java分頁的實現(後臺工具類和前臺jsp頁面)

cal else static pre cti per servle reac tint 1、首先,新建一個類Page.java 1 public class Page implements Serializable { 2 private static fi

servlet+jsp+java實現Web應用

example iter() meta ike 另一個 method bmi servlet 工程 servlet+jsp+java實現Web應用 環境: 1,eclipse 2,tomcat3,eclipse tomcat 插件 開發過程: 1,建立一個Dynamic W

用js和jq分別實現二級聯動效果

js jq 二級聯動界面: 兩個下拉框。用js方法實現:用jq方法實現:註意:在js中的for(var a in 數組) 其中的變量a依舊是下標,不是元素的值,跟其他的語言有點不一樣。同時,在js中,數組的下標是可以存放文字的。用js和jq分別實現二級聯動效果

jQuery+php實現二級聯動

view fun val -- where his this pre public php代碼: public function liandong(){ $arr = Db::table("city")->where("pid=0")->sel

JavaScript實際應用 簡單二級聯動選單實現

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!