jQuery+PHP+JSON的省市聯動效果

來源:互聯網
上載者:User

HTML

首先在head中載入jquery庫和cityselect外掛程式。

 代碼如下 複製代碼

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/jquery.cityselect.js"></script> 

接下來,我們在#city中,放置三個select,並且三個select分別設定class屬性為:prov、city、dist,分別表示省、市、區(縣)三個下拉框。注意如果只想實現省市二級聯動,則去掉第三個dist的select即可。

 代碼如下 複製代碼

<div id="city"> 
      <select class="prov"></select>  
    <select class="city" disabled="disabled"></select> 
    <select class="dist" disabled="disabled"></select> 
</div> 

jQuery

調用cityselect外掛程式非常簡單,直接調用:

 代碼如下 複製代碼

  
$("#city").citySelect();  

自訂參數調用,設定預設省市區。

 代碼如下 複製代碼

  
$("#city").citySelect({  
    url:"js/city.min.js",  
    prov:"湖南", //省份 
    city:"長沙", //城市 
    dist:"嶽麓區", //區縣 
    nodata:"none" //當子集無資料時,隱藏select 
});  

當然,你還可以擴充,自訂下拉式清單選項資料,你可以根據需要設定下拉內容,注意資料格式一定要為JSON格式。

 代碼如下 複製代碼

  
$("#city").citySelect({ 
    url:{"citylist":[ 
        {"p":"前端技術","c":[{"n":"HTML"},{"n":"CSS","a":[{"s":"CSS2.0"},{"s":"CSS3.0"}]}, 
        {"n":"JAVASCIPT"}]}, 
        {"p":"程式設計語言","c":[{"n":"C"},{"n":"C++"},{"n":"PHP"},{"n":"JAVA"}]}, 
        {"p":"資料庫","c":[{"n":"Mysql"},{"n":"SqlServer"},{"n":"Oracle"}]}, 
    ]}, 
    prov:"", 
    city:"", 
    dist:"", 
    nodata:"none" 
}); 

你還可以利用PHP等後台語言將資料庫中的資料轉換成JSON格式,然後使用url參數指向後台地址也能實現無重新整理聯動效果。

  

 代碼如下 複製代碼
$("#city").citySelect({ 
    url:"data.php" 
}); 

整合了上面的代碼

 代碼如下 複製代碼

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>基於jQuery+JSON的省市聯動效果</title>
<link rel="stylesheet" type="text/css" href="../css/main.css" />
<style type="text/css">
.demo{width:80%; margin:20px auto}
.demo h3{height:32px; line-height:32px}
.demo p{line-height:24px}
pre{margin-top:10px; padding:6px; background:#f7f7f7}
</style>
<script type="text/javascript" src="../js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.cityselect.js"></script>
<script type="text/javascript">
$(function(){
 $("#city_1").citySelect({
  nodata:"none",
  required:false
 });
 $("#city_2").citySelect({
  prov:"北京",
  nodata:"none"
 });
 
 $("#city_3").citySelect({
     prov:"湖南",
     city:"長沙"
 });
 $("#city_4").citySelect({
     prov:"湖南",
     city:"長沙",
  dist:"嶽麓區",
  nodata:"none"
 });
 
 $("#city_5").citySelect({
  url:{"citylist":[
    {"p":"前端技術","c":[{"n":"HTML"},{"n":"CSS","a":[{"s":"CSS2.0"},{"s":"CSS3.0"}]},{"n":"JAVASCIPT"}]},
    {"p":"程式設計語言","c":[{"n":"C"},{"n":"C++"},{"n":"Objective-C"},{"n":"PHP"},{"n":"JAVA"}]},
    {"p":"資料庫","c":[{"n":"Mysql"},{"n":"SqlServer"},{"n":"Oracle"},{"n":"DB2"}]},
   ]},
  prov:"",
  city:"",
  dist:"",
  nodata:"none"
 });
});
</script>
</head>

<body>


<div id="main">
 
 <div class="demo">
   <h3>直接調用</h3>
    <p>二級聯動,預設選項為:請選擇</p>
   <div id="city_1">
    <select class="prov"></select>
     <select class="city" disabled="disabled"></select>
    </div>
    <p>三級聯動,預設省份:北京,隱藏無資料的子級select</p>
    <div id="city_2">
    <select class="prov"></select>
     <select class="city" disabled="disabled"></select>
        <select class="dist" disabled="disabled"></select>
    </div>
    <pre>
$("#city_1").citySelect({nodata:"none",required:false});
$("#city_2").citySelect({prov:"北京",nodata:"none"});
    </pre>
  </div>

 </body>
</html>

省市聯動效果源碼下載:http://file.111cn.net/download/2013/05/15/cityselect.rar

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.