基于Ajax实现下拉框联动显示数据
本篇文章给大家介绍基于ajax实现下拉框联动显示数据,代码非常简单,需要的朋友可以参考下
公司做项目的时候,需要用到下拉框联动显示数据的功能,索性利用Ajax来实现,看到时间比较充裕,就没去找demo自己去想方法写了。纯自己的想法,有些可能比较弱智,希望不要见笑。
页面中的两个下拉列表框:
<tr> <td style="width: 130px"> 所在学院:</td> <td style="width: 100px"> <select id="college" style="width: 200px" runat="server" onchange="changcollege(this.value)"> <option value="0"> --请选择所在学院学院-- </option> </select></td> </tr> <tr> <td style="width: 130px"> 所在专业:</td> <td style="width: 100px"> <select id="specialty" style="width: 200px" runat="server" onchange="SaveSpecical(this.value)"> <option value="0"> --请选择所在专业-- </option> </select></td> </tr>
JS脚本代码:
<script type="text/javascript"> var http_request = false; function send_request(method,url,content,responseType,callback)//定义发送请求的函数 { http_request=false; if(window.XMLHttpRequest) { http_request=new XMLHttpRequest(); if(http_request.overrideMimeType) { http_request.overrideMimeType("text/xml"); } } else { try { http_request=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { http_request=new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} } } if(!http_request) { window.alert("创建XMLHttpRequest对象失败"); return false; } if(responseType.toLowerCase()=="text") { http_request.onreadystatechange=callback; } else { window.alert("ERR"); return false; } if(method.toLowerCase()=="get") { http_request.open(method,url,true); } else if(method.toLowerCase()=="post") { http_request.open(method,url,true); http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); } else { window.alert("Err"); return false; } http_request.send(content); } function changcollege(va)//当学院下拉列表发生改变时触发的脚本事件 { if(va!='0') { var speciality = document.getElementById("specialty"); speciality.disabled=false; var url="Handler.ashx?type=college&id="+va; send_request("GET",url,null,"text",populateClass3); } } function populateClass3()//Ajax执行成功的回调函数 { var f=document.getElementById("specialty"); if(http_request.readyState==4) { if(http_request.status==200) { var list=http_request.responseText; var classList=list.split("|"); f.options.length=1; for(var i=0;i<classList.length;i++) //将取得的结果添加到下级的列表框中 { var tmp=classList[i].split(","); f.add(new Option(tmp[1],tmp[0])); } } else { alert("您所请求的页面有异常。"); } } } </script>
我们将http请求发送给服务端的Handler.ashx进行处理。
public class Handler : IHttpHandler { public void ProcessRequest(HttpContext context) { string type = context.Request.QueryString["type"]; if (type.Equals("college")) { string id = context.Request.QueryString["id"]; context.Response.ContentType = "text/plain"; context.Response.Write(getSpecialty(id));//这个是从数据库中根据传来省的id 查询出来的。学院的名字和主键,主键以便去查专业的名字 } } public string getSpecialty(string college) { DataSet ds = GetInformation.GetSpecialtyInfo(college); string str = ""; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (i == ds.Tables[0].Rows.Count - 1) { str += ds.Tables[0].Rows[i]["SpecialtyID"].ToString() + "," + ds.Tables[0].Rows[i]["SpecialtyName"].ToString(); } else { str += ds.Tables[0].Rows[i]["SpecialtyID"].ToString() + "," + ds.Tables[0].Rows[i]["SpecialtyName"].ToString() + "|"; } } return str.Trim(); } public bool IsReusable { get { return false; } } }
根据学院的编号获得相应的专业,并将专业的名称用“|”分割组合成字符串返回给客户端,客户端脚本拆分字符串添加到下拉框中。
这里只是二级的联动显示,三级联动数据的现实原理是一样的。
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
Atas ialah kandungan terperinci 基于Ajax实现下拉框联动显示数据. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tajuk: Kaedah dan contoh kod untuk menyelesaikan ralat 403 dalam permintaan AJAX jQuery Ralat 403 merujuk kepada permintaan bahawa pelayan melarang akses kepada sumber Ralat ini biasanya berlaku kerana permintaan itu tidak mempunyai kebenaran atau ditolak oleh pelayan. Apabila membuat permintaan jQueryAJAX, anda kadangkala menghadapi situasi ini Artikel ini akan memperkenalkan cara menyelesaikan masalah ini dan memberikan contoh kod. Penyelesaian: Semak kebenaran: Mula-mula pastikan alamat URL yang diminta adalah betul dan sahkan bahawa anda mempunyai kebenaran yang mencukupi untuk mengakses sumber tersebut.

Kembara melalui keluasan dan jejakkan kaki ke perjalanan ke barat! Hari ini, Zhengtu IP secara rasmi mengumumkan bahawa ia akan melancarkan kerjasama rentas sempadan dengan animasi CCTV "Journey to the West" untuk bersama-sama mencipta pesta kebudayaan yang menggabungkan tradisi dan inovasi! Kerjasama ini bukan sahaja menandakan kerjasama yang mendalam antara dua jenama klasik domestik utama, tetapi juga menunjukkan usaha yang tidak putus-putus dan kegigihan siri Journey dalam mempromosikan budaya tradisional Cina. Sejak kelahirannya, siri Zhengtu telah digemari oleh pemain kerana warisan budaya yang mendalam dan permainan yang pelbagai. Dari segi warisan budaya, siri Zhengtu sentiasa mengekalkan rasa hormat dan cinta kepada budaya tradisional Cina, dan menyepadukan unsur budaya tradisional dengan mahir ke dalam permainan, membawa lebih keseronokan dan inspirasi kepada pemain. Animasi CCTV "Journey to the West" adalah klasik yang mengiringi pertumbuhan generasi.

jQuery ialah perpustakaan JavaScript popular yang digunakan untuk memudahkan pembangunan sisi klien. AJAX ialah teknologi yang menghantar permintaan tak segerak dan berinteraksi dengan pelayan tanpa memuatkan semula keseluruhan halaman web. Walau bagaimanapun, apabila menggunakan jQuery untuk membuat permintaan AJAX, anda kadangkala menghadapi 403 ralat. Ralat 403 biasanya ralat akses yang dinafikan pelayan, mungkin disebabkan oleh dasar keselamatan atau isu kebenaran. Dalam artikel ini, kami akan membincangkan cara menyelesaikan permintaan jQueryAJAX yang menghadapi ralat 403

Bina enjin cadangan autolengkap menggunakan PHP dan Ajax: Skrip sisi pelayan: mengendalikan permintaan Ajax dan mengembalikan cadangan (autocomplete.php). Skrip pelanggan: Hantar permintaan Ajax dan cadangan paparan (autocomplete.js). Kes praktikal: Sertakan skrip dalam halaman HTML dan nyatakan pengecam elemen input carian.

Bagaimana untuk menyelesaikan masalah jQueryAJAX ralat 403? Apabila membangunkan aplikasi web, jQuery sering digunakan untuk menghantar permintaan tak segerak. Walau bagaimanapun, kadangkala anda mungkin menghadapi kod ralat 403 apabila menggunakan jQueryAJAX, menunjukkan bahawa akses dilarang oleh pelayan. Ini biasanya disebabkan oleh tetapan keselamatan bahagian pelayan, tetapi terdapat cara untuk mengatasinya. Artikel ini akan memperkenalkan cara menyelesaikan masalah ralat jQueryAJAX 403 dan memberikan contoh kod khusus. 1. membuat

Pada tarikh itu, "Backwater Cold" secara rasmi mengumumkan bahawa ia akan melancarkan hubungan dengan KFC dari 19 April hingga 12 Mei, namun kandungan khusus pautan itu telah membuatkan ramai orang terpegun. Mereka berulang kali berkata "Memalukan syurga" dan " Ia penting kepada masyarakat." meninggal dunia"! Sebabnya terletak pada slogan acara bertema ini Rakan-rakan yang pernah melihat jalinan KFC iaitu "Genshin Impact" dan "Beng Tie" pasti mempunyai tanggapan bahawa "bertemu dunia lain dan menikmati makanan yang lazat" telah menjadi kenyataan dalam "Ni Shui. Han" Sekarang: berteriak kepada kerani, "Tuhan sedang menyiasat kes ini, siapakah kamu?" Kerani itu perlu menjawab, "Ayam goreng adalah perniagaan yang besar, dan tidak ada ruang untuk kesilapan!" Panduan latihan untuk pekerja: Jangan pernah ketawa! Bukan itu sahaja, kerjasama ini turut mengadakan pertandingan tarian Jika anda pergi ke kedai tema dan mempersembahkan gerak tari "Dance when you hear 'Ji'", anda juga boleh mendapatkan stand muzik goyang kecil. Memalukan, sangat memalukan! Tetapi itulah yang saya mahu

Permainan mudah alih "Onmyoji" NetEase hari ini mengumumkan bahawa kerjasama terhad Onmyoji x Hatsune Miku akan bermula secara rasmi pada 6 Mac. SSR Hatsune Miku terhad kerjasama (CV: Saki Fujita) dan SSR Kagamine Rin (CV: Asami Shimoda) akan datang ke Heian Kyo! Acara persembahan istimewa dalam talian pautan akan bermula secara rasmi dalam permainan pada 9 Mac~

Menggunakan Ajax untuk mendapatkan pembolehubah daripada kaedah PHP adalah senario biasa dalam pembangunan web Melalui Ajax, halaman boleh diperoleh secara dinamik tanpa menyegarkan data. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Ajax untuk mendapatkan pembolehubah daripada kaedah PHP, dan memberikan contoh kod khusus. Pertama, kita perlu menulis fail PHP untuk mengendalikan permintaan Ajax dan mengembalikan pembolehubah yang diperlukan. Berikut ialah kod contoh untuk fail PHP mudah getData.php:
