やあ、また行きます。今回は、道市における三段階連携メニューの問題についてです。インターネット上でそのようなコードをたくさん見つけましたが、ほとんどはデータを js に入れていました。上司は「いいえ、データベースに接続する必要がある」と言ったので、CSDN フォーラムでデータベースを持っている人を見つけました。しかし、それは使いにくいです。後で上司が、各州と市に 1 つずつ、それぞれ 1 つの ID を持つ 3 つのテーブルを持ったデータベースをくれました。市と地区には、その市の親 ID があります。州の ID、地区の ID です。親 ID は都市 ID です。次に、ajax を使用して 3 レベルのリンケージ効果を作成します。彼はそれがとても簡単だと言いましたが、私は ajax を知りません。誰か助けてくれないかな。昨日はこれのためだけに8時過ぎまで残業してしまいました こんなに遅くまで残業したのは大学卒業以来初めてでした… これは昨日の仕事で、今日の仕事がまだ残っているので。もう先延ばしにすることはできません。お願いします。
http://blog.csdn.net/sangliu/article/details/8674886
http://blog.csdn.net/ykm0722/article/details/6064559
http ://www.cnblogs.com/freespider/archive/2010/08/30/1812669.html
他の人はあなたに N 回言いました、なぜ自分でやらないのですか。
http://download.csdn.net/detail/jam00/5079966
またはメールを残していただければ、直接送信されます
http://download.csdn.net/detail/jam00/5079966
またはメールを残してください 直接あなたに送信されます
http://blog.csdn.net/sangliu/article/details/8674886
http://blog.csdn.net/ykm0722/article/details/6064559
http://www. cnblogs.com/freespider/archive/2010/08/30/1812669.html
他の人が N 回言った、自分でやったらどうですか。
function Location()
$(document).ready(function() {
http://blog.csdn.net/sangliu/article/details/8674886
http://blog.csdn.net/ykm0722/article /details/6064559
http://www.cnblogs.com/freespider/archive/2010/08/30/1812669.html
他の人が N 回言ったのなら、自分でやってみませんか。
<script language="JavaScript" src="area.js"></script> <script language="JavaScript" src="location.js"></script> <div class="main"> <select id="loc_province" name="sheng" style="width: 80px;"></select> <select id="loc_city" name="shi" style="width:100px;"></select> <select id="loc_town" name="qu" style="width:120px;"></select> <input type="hidden" name="location_id" /> </div>
function showLocation(province , city , town) { var loc = new Location(); var title = ['省份' , '地级市' , '市、县、区']; $.each(title , function(k , v) { title[k] = '<option value="">'+v+'</option>'; }) $('#loc_province').append(title[0]); $('#loc_city').append(title[1]); $('#loc_town').append(title[2]); $('#loc_province').change(function() { $('#loc_city').empty(); $('#loc_city').append(title[1]); loc.fillOption('loc_city' , '0,'+$('#loc_province').val()); $('#loc_town').empty(); $('#loc_town').append(title[2]); //$('input[@name=location_id]').val($(this).val()); }) $('#loc_city').change(function() { $('#loc_town').empty(); $('#loc_town').append(title[2]); loc.fillOption('loc_town' , '0,' + $('#loc_province').val() + ',' + $('#loc_city').val()); //$('input[@name=location_id]').val($(this).val()); }) $('#loc_town').change(function() { $('input[@name=location_id]').val($(this).val()); }) if (province) { loc.fillOption('loc_province' , '0' , province); if (city) { loc.fillOption('loc_city' , '0,'+province , city); if (town) { loc.fillOption('loc_town' , '0,'+province+','+city , town); } } } else { loc.fillOption('loc_province' , '0'); } }
データベースの使い方を知っている人はいますか?
知っている人がいたら、私のメールに送ってください。ありがとう 2969978505@qq.com
http://blog.sina.com.cn/s/blog_49ea36420100t1ji.html
この例については js を見てください。サーバー側で実行します ネイティブ PHP コード クエリを作成します。
わからない質問がある場合は、投稿してください
http://www.helloweba.com/view-blog-188.html
http://www.helloweba.com/demo/cityselect /
これはjsで実装されており、効果はすぐに現れます。
http://blog.sina.com.cn/s/blog_49ea36420100t1ji.html
この例では、サーバー側でクエリを実行するネイティブ php コードを作成できます。
理解できない質問がある場合は、もう一度投稿してください
ネイティブ JS コードは 20 行を超えません。 jqueryは4行を超えることはなく、データ構造がうまく設計されていれば1行で十分です
PHP部分はデータベース接続をカウントしないので、コードは3〜4行だけです
それほど複雑ではありません、 右?ある日。まだ手がかりがありません
http://blog.sina.com.cn/s/blog_49ea36420100t1ji.html
この例では、サーバー側でネイティブ php を書くことができます。クエリするコード。
分からない質問があれば、投稿してください
ページに載せるとデータを問い合わせることができますが、それだけでしょうか? 私のプロジェクトに入れると、地方のデータのみが表示されます
function Location() { this.items = { '0':{1:'北京市',22:'天津市',44:'上海市',66:'重庆市',108:'河北省',406:'山西省',622:'内蒙古',804:'辽宁省',945:'吉林省',1036:'黑龙江省',1226:'江苏省',1371:'浙江省',1500:'安徽省',1679:'福建省',1812:'江西省',1992:'山东省',2197:'河南省',2456:'湖北省',2613:'湖南省',2822:'广东省',3015:'广西',3201:'海南省',3235:'四川省',3561:'贵州省',3728:'云南省',3983:'西藏',4136:'陕西省',4334:'甘肃省',4499:'青海省',4588:'宁夏',4624:'新疆',4802:'香港',4822:'澳门',4825:'台湾省'}, '0,1':{2:'北京市'},.............};}Location.prototype.find = function(id) { if(typeof(this.items[id]) == "undefined") return false; return this.items[id];}Location.prototype.fillOption = function(el_id , loc_id , selected_id) { var el = $('#'+el_id); var json = this.find(loc_id); if (json) { var index = 1; var selected_index = 0; $.each(json , function(k , v) { var option = '<option value="'+k+'">'+v+'</option>'; el.append(option); if (k == selected_id) { selected_index = index; } index++; }) el.attr('selectedIndex' , selected_index); }}
script type="text/javascript">//创建AJAX 引擎function getXmlHttpObject(){ var XmlHttpRequest; if(ActiveXObject){ //ie XmlHttpRequest=new ActiveXObject("Microsoft.XMLHTTP"); }else{ //火狐,opera XmlHttpRequest=new XMLHttpRequest(); } return XmlHttpRequest;}var myXmlHttpRequest="";//根据省级信息获取城市function getCities(){ myXmlHttpRequest=getXmlHttpObject(); if(myXmlHttpRequest){ var url="showCitiesPro.php";//post方式 var data="type=city&province="+$('province').value; myXmlHttpRequest.open("post",url,true);//异步 myXmlHttpRequest.setRequestHeader("content-type","application/x-www-form-urlencoded"); //指定回调函数 myXmlHttpRequest.onreadystatechange=chuliCity; //发送 myXmlHttpRequest.send(data); }}function chuliCity(){ if(myXmlHttpRequest.readyState==4){ //status==200 才是真正的成功 if(myXmlHttpRequest.status==200){ //取出服务器回送的数据 var cities=myXmlHttpRequest.responseXML.getElementsByTagName("name"); var codes=myXmlHttpRequest.responseXML.getElementsByTagName("code"); //每次执行都将id为city的select长度清零 $('city').length=0; var myOption=document.createElement("option"); myOption.innerText="---城市---"; $('city').appendChild(myOption); //遍历并取出城市 for(var i=0;i<cities.length;i++){ var city_name=cities[i].childNodes[0].nodeValue; var city_code=codes[i].childNodes[0].nodeValue; //创建新的元素option var myOption=document.createElement("option"); myOption.value=city_code; //赋文本 myOption.innerText=city_name; //添加到 id为city的select里 $('city').appendChild(myOption); } } }}//根据市级获取县级function getArea(){ myXmlHttpRequest=getXmlHttpObject(); if(myXmlHttpRequest){ var url="showCitiesPro.php";//post方式 var data="type=area&city="+$('city').value; myXmlHttpRequest.open("post",url,true);//异步 myXmlHttpRequest.setRequestHeader("content-type","application/x-www-form-urlencoded"); //指定回调函数 myXmlHttpRequest.onreadystatechange=chuliArea; //发送 myXmlHttpRequest.send(data); }}function chuliArea(){ if(myXmlHttpRequest.readyState==4){ //status==200 才是真正的成功 if(myXmlHttpRequest.status==200){ //取出服务器回送的数据 var cities=myXmlHttpRequest.responseXML.getElementsByTagName("name"); var codes=myXmlHttpRequest.responseXML.getElementsByTagName("code"); //每次执行都将id为city的select长度清零 $('area').length=0; var myOption=document.createElement("option"); myOption.innerText="---县城---"; $('area').appendChild(myOption); //遍历并取出城市 for(var i=0;i<cities.length;i++){ var city_name=cities[i].childNodes[0].nodeValue; var city_code=codes[i].childNodes[0].nodeValue; //创建新的元素option var myOption=document.createElement("option"); myOption.value=city_code; //赋文本 myOption.innerText=city_name; //添加到 id为area的select里 $('area').appendChild(myOption); } } }}//获取对象的函数function $(id){ return document.getElementById(id);}</script>
原生 js 代码不超过 20 行
用 jquery 不超过 4 行,如果数据结构设计的好,一行也就可以了
php 部分不算数据库连接,也就 3、4 行代码吧
不至于搞得那么复杂吧?一天了。还没头绪
php 部分
//连接mysql并选择库switch($_POST['type']) { case 'shi': $tbl = '市表'; $where = "pid='$_POST[id]'"; break; case 'xian': $tbl = '县表'; $where = "pid='$_POST[id]'"; break; default: $tbl = '省表'; $where = "1";}$sql = "select concat('<option value=\"', id, '\">', name, '</optipn') from $tbl where $where";$rs = mysql_query($sql);while(list($r) = mysql_fetch_row($rs)) $row[] = $r;echo join('', $row);
$(function() { $('#sheng').change(function() { $('#shi').load(url, {type:'shi', id:$(this.val()}); }); $('#shi').change(function() { $('#xian').load(url, {type:'xian', id:$(this.val()}); }); $('#sheng').load(url, {type:sheng'});});
<select id="sheng"><option value="">---省---</option></select><select id="shi"><option value="">---市---</option></select><select id="xian"><option value="">---县---</option></select>
php 部分
//连接mysql并选择库switch($_POST['type']) { case 'shi': $tbl = '市表'; $where = "pid='$_POST[id]'"; break; case 'xian': $tbl = '县表'; $where = "pid='$_POST[id]'"; break; default: $tbl = '省表'; $where = "1";}$sql = "select concat('<option value=\"', id, '\">', name, '</optipn') from $tbl where $where";$rs = mysql_query($sql);while(list($r) = mysql_fetch_row($rs)) $row[] = $r;echo join('', $row);
$(function() { $('#sheng').change(function() { $('#shi').load(url, {type:'shi', id:$(this.val()}); }); $('#shi').change(function() { $('#xian').load(url, {type:'xian', id:$(this.val()}); }); $('#sheng').load(url, {type:sheng'});});
<select id="sheng"><option value="">---省---</option></select><select id="shi"><option value="">---市---</option></select><select id="xian"><option value="">---县---</option></select>
是的,当然你要有,且路径正确
是的,当然你要有,且路径正确
再问你个事情呗,就是我把你给的三段代码都放在了html里面,然后也面上放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" />{$css}{$js}<!--<script type="text/javascript">//创建AJAX 引擎function getXmlHttpObject(){ var XmlHttpRequest; //火狐,opera XmlHttpRequest=new XMLHttpRequest(); return XmlHttpRequest;}var myXmlHttpRequest="";//根据省级信息获取城市function getCities(){ myXmlHttpRequest=getXmlHttpObject(); if(myXmlHttpRequest){ var url="__PUBLIC__/showCitiesPro.php";//post方式 var data="type=city&province="+$('province').value; myXmlHttpRequest.open("post",url,true);//异步 myXmlHttpRequest.setRequestHeader("content-type","application/x-www-form-urlencoded"); //指定回调函数 myXmlHttpRequest.onreadystatechange=chuliCity; //发送 myXmlHttpRequest.send(data); }}function chuliCity(){ if(myXmlHttpRequest.readyState==4){ //status==200 才是真正的成功 if(myXmlHttpRequest.status==200){ //取出服务器回送的数据 var cities=myXmlHttpRequest.responseXML.getElementsByTagName("name"); var codes=myXmlHttpRequest.responseXML.getElementsByTagName("code"); //每次执行都将id为city的select长度清零 $('city').length=0; var myOption=document.createElement("option"); myOption.innerText="--城市--"; $('city').appendChild(myOption); //遍历并取出城市 for(var i=0;i<cities.length;i++){ var city_name=cities[i].childNodes[0].nodeValue; var city_code=codes[i].childNodes[0].nodeValue; //创建新的元素option var myOption=document.createElement("option"); myOption.value=city_code; //赋文本 myOption.innerText=city_name; //添加到 id为city的select里 $('city').appendChild(myOption); } } }}//根据市级获取县级function getArea(){ myXmlHttpRequest=getXmlHttpObject(); if(myXmlHttpRequest){ var url="showCitiesPro.php";//post方式 var data="type=area&city="+$('city').value; myXmlHttpRequest.open("post",url,true);//异步 myXmlHttpRequest.setRequestHeader("content-type","application/x-www-form-urlencoded"); //指定回调函数 myXmlHttpRequest.onreadystatechange=chuliArea; //发送 myXmlHttpRequest.send(data); }}function chuliArea(){ if(myXmlHttpRequest.readyState==4){ //status==200 才是真正的成功 if(myXmlHttpRequest.status==200){ //取出服务器回送的数据 var cities=myXmlHttpRequest.responseXML.getElementsByTagName("name"); var codes=myXmlHttpRequest.responseXML.getElementsByTagName("code"); //每次执行都将id为city的select长度清零 $('area').length=0; var myOption=document.createElement("option"); myOption.innerText="---县城---"; $('area').appendChild(myOption); //遍历并取出城市 for(var i=0;i<cities.length;i++){ var city_name=cities[i].childNodes[0].nodeValue; var city_code=codes[i].childNodes[0].nodeValue; //创建新的元素option var myOption=document.createElement("option"); myOption.value=city_code; //赋文本 myOption.innerText=city_name; //添加到 id为area的select里 $('area').appendChild(myOption); } } }}//获取对象的函数function $(id){ return document.getElementById(id);}</script>--><script type="text/javascript">$(function() { $('#sheng').change(function() { $('#shi').load(url, {type:'shi', id:$(this.val()}); }); $('#shi').change(function() { $('#xian').load(url, {type:'xian', id:$(this.val()}); }); $('#sheng').load(url, {type:sheng'}); });</script></head><body><?php//连接mysql并选择库switch($_POST['type']) { case 'shi': $tbla = 'city'; $wherea = "provincecode='$_POST[code]'"; break; case 'xian': $tbla = 'area'; $wherea = "citycode='$_POST[code]'"; break; default: $tbla = 'province'; $wherea = "1";}$sql = "select concat('<option value=\"', code, '\">', name, '</optipn') from $tbla where $wherea";$rsa = mysql_query($sql);while(list($r) = mysql_fetch_row($rsa)) $row[] = $r;echo join('', $row);?><div class="page_function"> <div class="info"> <h3>帮帮{$action_name}</h3> </div></div><div class="page_form"><form action="__URL__/{$action}_save/time-<?php echo time(); ?>-ajax-true" method="post" id="form"><div class="page_table form_table"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <?php if(!isset($info['familyOrShop'])){ $info['familyOrShop']=1; } ?> <input name="familyOrShop" type="radio" value="1" <!--if:{$info['familyOrShop']==1}--> checked="checked" <!--{/if}--> /> 家庭 <input name="familyOrShop" type="radio" value="0" <!--if:{$info['familyOrShop']==0}--> checked="checked" <!--{/if}--> /> 店铺 </td> </tr> <tr> <td width="120">价格</td> <td width="300"> <input name="price" type="text" class="text_value" id="price" value="{$info.price}" reg="(-?\d*)\.?\d+" msg="请输入正确的价格" /> </td> </tr> <tr> <td width="120">姓名</td> <td width="300"> <input name="name" type="text" class="text_value" id="name" value="{$info.name}" reg="\S" msg="姓名不能为空" /> </td> </tr> <tr> <td width="120">内容</td> <td width="300"> <input name="content" type="text" class="text_value" id="content" value="{$info.content}" reg="\S" msg="内容不能为空" /> </td> </tr><tr> <td width="120">联系方式</td> <td width="300"> <input name="telephone" type="text" class="text_value" id="telephone" reg="(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})" msg='请输入正确的电话号码' value="{$info.telephone}" /> </td> </tr> <tr> <td width="120">城市</td> <td width="300"> <!--<select id="province" onChange="getCities();" name="province"> <option value="">---省---</option> <?php require_once(CP_PATH.'ext/process.php'); getProvince(); ?> </select> <select id="city" onChange="getArea();" name="city"> <option value="">---城市---</option> </select> <select id="area" name="area"> <option value="">---县城---</option> </select> --> <select id="sheng"> <option value="">---省---</option> </select> <select id="shi"> <option value="">---市---</option> </select> <select id="xian"> <option value="">---县---</option> </select> </td> </tr> </table><div class="form_submit"><input name="id" type="hidden" value="{$info.id}" /><button type="submit" class="button">保存</button> </div></form></div><script type="text/javascript">function checkForm(){ if(!document.getElementById || !document.createTextNode) return false; var utel=document.getElementById("utel"); var str=utel.value; var errors=document.getElementById("myError"); var regPartton=/1[3-8]+\d{9}/; if(!str || str==null){ erros.innerHTML="手机号码不能为空!"; utel.focus(); return false; }else if(!regPartton.test(str)){ errors.innerHTML="手机号码格式不正确!"; utel.focus(); return false; }else{ errors.innerHTML.nodeValue=""; return true; }}</script></body>
http://download.csdn.net/detail/jam00/5079966
或者留个邮箱直接发给你
http://download.csdn.net/detail/jam00/5079966
或者留个邮箱直接发给你
谢谢大家的指导了,但是jam00这位仁兄在QQ邮箱上不厌其烦的指导,终于让我弄出来了,所以只有把分给他了