JavaScript實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
首先是js
$(document).ready(function(){
getErpMarketByParentCode(0,'province',province);
getErpMarketByParentCode(province,'city',city);
getErpMarketByParentCode(city,'area',area);
getErpMarketByParentCode(area,'market',market);
$('#city').append($('<option>').val('').html('-請(qǐng)選擇-')).val('');
$('#area').append($('<option>').val('').html('-請(qǐng)選擇-')).val('');
if($('#market')){
$('#market').append($('<option>').val('').html('-請(qǐng)選擇-')).val('');
}
$('#province').change(function(){
if($(this).val() == ''){ // 請(qǐng)選擇
$('#city').empty();
$('#area').empty();
$('#city').append($('<option>').val('').html('-請(qǐng)選擇-')).val('');
$('#area').append($('<option>').val('').html('-請(qǐng)選擇-')).val('');
if($('#market')){
$('#market').empty();
$('#market').append($('<option>').val('').html('-請(qǐng)選擇-')).val('');
}
return;
}
getErpMarketByParentCode($(this).val(),'city');
$('#area').empty();
$('#area').append($('<option>').val('').html('-請(qǐng)選擇-')).val('');
});
$('#city').change(function(){
getErpMarketByParentCode($(this).val(),'area');
if($('#market')){
$('#market').empty();
$('#market').append($('<option>').val('').html('-請(qǐng)選擇-')).val('');
}
});
$('#area').change(function(){
getErpMarketByParentCode($(this).val(),'market');
});
});
function getErpMarketByParentCode(parentCode, id, value){
$.ajax({
url:'/getErpMarketByParentCode',
type:'post',
data:{
code:parentCode
},
dataType : 'json',
error:function(){
alert('error');
},
success:function(data){
var select = $('#' + id);
if(select){
select.empty();
select.append($('<option>').val('').html('-請(qǐng)選擇-'));
$.each(data.erpMarketList,function(i, erpMarket){
select.append($('<option>').val(erpMarket.code).html(erpMarket.name));
});
select.val(value);
}
}
});
}
然后是后臺(tái)方法
@RequestMapping(value = "/getErpMarketByParentCode")
public ModelAndView getErpMarketByParentCode(HttpServletRequest request, HttpServletResponse response) throws Exception {
String code = request.getParameter("code");
List<ErpMarket> erpMarketList = erpMarketService.getErpMarketListByParentCode(code);
JSONObject jsonObject = new JSONObject();
jsonObject.put("erpMarketList",erpMarketList);
response.getWriter().write(jsonObject.toString());
return null;
}
service方法,是從內(nèi)從中獲取省市區(qū)這張表
public List<ErpMarket> getErpMarketListByParentCode(String parentCode){
Hashtable erpMarketTable = LoadOnStartService.erpMarketTable;//從內(nèi)存中獲取這張表
List<ErpMarket> erpMarketList = new ArrayList<ErpMarket>();
Iterator its = erpMarketTable.keySet().iterator();
while(its.hasNext()){
String key = Util.getString(its.next());
ErpMarket erpMarket = (ErpMarket)erpMarketTable.get(key);
if(parentCode.equals(erpMarket.getParentCode())){
erpMarketList.add(erpMarket);
}
}
return erpMarketList;
}
省市區(qū)的實(shí)體類
package com.erp.entity;
/**
* ErpMarket entity.
*
* @author MyEclipse Persistence Tools
*/
public class ErpMarket implements java.io.Serializable {
// Fields
private String code;
private String shortCode;
private String name;
private String level;
private String parentCode;
// Constructors
/** default constructor */
public ErpMarket() {
}
/** full constructor */
public ErpMarket(String shortCode, String name, String level, String parentCode) {
this.shortCode = shortCode;
this.name = name;
this.level = level;
this.parentCode = parentCode;
}
// Property accessors
public String getCode() {
return this.code;
}
public void setCode(String code) {
this.code = code;
}
public String getShortCode() {
return this.shortCode;
}
public void setShortCode(String shortCode) {
this.shortCode = shortCode;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getLevel() {
return this.level;
}
public void setLevel(String level) {
this.level = level;
}
public String getParentCode() {
return this.parentCode;
}
public void setParentCode(String parentCode) {
this.parentCode = parentCode;
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- PHP+Mysql+Ajax+JS實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)
- JS制作簡(jiǎn)單的三級(jí)聯(lián)動(dòng)
- javascript實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)下拉框菜單
- 省市區(qū)三級(jí)聯(lián)動(dòng)下拉框菜單javascript版
- jquery+json 通用三級(jí)聯(lián)動(dòng)下拉列表
- js實(shí)現(xiàn)一個(gè)省市區(qū)三級(jí)聯(lián)動(dòng)選擇框代碼分享
- js實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)效果(簡(jiǎn)單易懂)
- ASP+JS三級(jí)聯(lián)動(dòng)下拉菜單[調(diào)用數(shù)據(jù)庫(kù)數(shù)據(jù)]
- 原生js三級(jí)聯(lián)動(dòng)的簡(jiǎn)單實(shí)現(xiàn)代碼
- 從QQ網(wǎng)站中提取的純JS省市區(qū)三級(jí)聯(lián)動(dòng)菜單
相關(guān)文章
Bootstrap3 多個(gè)模態(tài)對(duì)話框無(wú)法顯示的解決方案
這篇文章主要介紹了Bootstrap3 多個(gè)模態(tài)對(duì)話框無(wú)法顯示的解決方案,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02
JavaScript中使用參數(shù)個(gè)數(shù)實(shí)現(xiàn)重載功能
這篇文章主要介紹了JavaScript中使用參數(shù)個(gè)數(shù)實(shí)現(xiàn)重載功能,需要的朋友可以參考下2017-09-09
JavaScript實(shí)現(xiàn)復(fù)制文章自動(dòng)添加版權(quán)
自己辛辛苦苦寫的文章,輕易就被別人復(fù)制-粘貼去了,是不是很傷心呢?小編今天給大家整理了兩個(gè)方法,讓別人復(fù)制自己的文章時(shí),自動(dòng)在文章的結(jié)尾添加自己的版權(quán)信息。2016-08-08
Event altKey,ctrlKey,shiftKey屬性解析
本篇文章主要是對(duì)Event altKey,ctrlKey,shiftKey屬性解析了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-12-12
JavaScript二叉搜索樹(shù)構(gòu)建操作詳解
這篇文章主要介紹了JavaScript二叉搜索樹(shù)構(gòu)建操作詳解,文章圍繞主題展開(kāi)二叉搜索樹(shù)的性質(zhì)以及二叉搜索樹(shù)的構(gòu)建、查找和刪除等內(nèi)容,需要的小伙伴可以參考一下2022-07-07
JS中創(chuàng)建自定義類型的常用模式總結(jié)【工廠模式,構(gòu)造函數(shù)模式,原型模式,動(dòng)態(tài)原型模式等】
這篇文章主要介紹了JS中創(chuàng)建自定義類型的常用模式,結(jié)合實(shí)例形式總結(jié)分析了工廠模式,構(gòu)造函數(shù)模式,原型模式,動(dòng)態(tài)原型模式等javascript創(chuàng)建自定義類型的常用模式與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-01-01

