php 下拉菜單多選get,Jquery實現select二級聯動多選下拉菜單

前言

平時雖然也有寫前端,但是對于一些復雜的功能實現仍是一知半解。這次項目需要實現一個多選下拉菜單,并且該菜單要和上級下拉菜單保持聯動。更加麻煩的是,我需要完成以下操作,以省、市二級聯動菜單為例:

選擇河北省 >> 二級菜單顯示河北省所有市 >> 多選其中石家莊、邢臺、保定

再選擇河南省 >> 二級菜單顯示河南省所有市 >> 多選其中駐馬店、鄭州

...

重復以上步驟

也就是說我要同時選擇多個省內的多個市,而簡單的二級聯動菜單貌似無法完成這個步驟,所以便有了如下方案:

d6f822e3e107?t=123

demo.png

在點擊添加后,在下拉菜單結果中,會保存已經被選中的選項。之后,我們便可以修改大類中的選項,實現小類中的再次多選

實現代碼

JS代碼

function getSelectVal() {

//獲取后臺json數據

$.getJSON("server.php", {

bigname: $("#bigname").val()

}, function(json) {

var smallname = $("#smallname");

$("option", smallname).remove(); //清空原有的選項

$.each(json, function(index, array) {

var option = "" + array['title'] + "";

smallname.append(option);

});

});

}

// 選擇上級菜單選項觸發事件

$(function() {

getSelectVal();

$("#bigname").change(function() {

getSelectVal();

});

});

//點擊添加,獲取選中選項的value和text

$(document).ready(function() {

$("#add").click(function() {

var result = $("#result");

$("#smallname option:selected").each(function(){

console.log($(this).val() + $(this).text());

var option = "" + $(this).text() + "";

result.append(option);

});

});

});

大類:

編程技術

社交網站

好吃的

小類:

添加

結果:

模擬數據庫返回數據的后臺文件

$bigid = $_GET["bigname"];

if(isset($bigid)){

if($bigid == 1){

$select = array(

'0' => ['id' => 1,'title' => 'JS'],

'1' => ['id' => 2,'title' => 'PHP'],

'2' => ['id' => 3,'title' => 'C++'],

'3' => ['id' => 4,'title' => 'LUA'],

'4' => ['id' => 5,'title' => 'CSS'],

);

}else if($bigid == 2){

$select = array(

'0' => ['id' => 1,'title' => '人人'],

'1' => ['id' => 2,'title' => 'FACEBOOK'],

'2' => ['id' => 3,'title' => '微博'],

'3' => ['id' => 4,'title' => '朋友圈'],

'4' => ['id' => 5,'title' => '空間'],

);

}else if($bigid == 3){

$select = array(

'0' => ['id' => 1,'title' => '牛肉面'],

'1' => ['id' => 2,'title' => '土豆粉'],

'2' => ['id' => 3,'title' => '蓋飯'],

'3' => ['id' => 4,'title' => '火鍋'],

'4' => ['id' => 5,'title' => '大便'],

);

}

echo json_encode($select);

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/534165.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/534165.shtml
英文地址,請注明出處:http://en.pswp.cn/news/534165.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

idea快捷鍵打開run的窗口_看了上篇文章,你不了解的IDEA操作……

注意作者:卡洛小豆。換種方式寫文章,寫的不好請多多見諒。未經授權,禁止轉載夜,結束了一天的喧囂后安靜下來,伴隨著遠處路燈那微弱的光。風,毫無預兆地席卷整片曠野,撩動人的思緒萬千。那是一個…

oracle查看物化視圖的索引,oracle – 物化視圖中的域索引返回零行

我有Oracle DB的問題 – 在物化視圖上通過CONTAINS()搜索后,域索引返回零行.我看到物化視圖充滿了數據,我還使用過程ctx_ddl.sync_index()進行域索引同步.什么有用:>創建表>插入數據>創建域索引> SYNC DOMAIN INDEX>通過包含找到行 – 返回行什么不起…

arma模型_Eviews經典案例 | 初學者必看!ARMA模型精講

【本期分析師介紹】希音老師,《數據分析學堂》金牌分析師,對eviews的時間序列、ARMA、VAR、VECM、ARCH、GARCH等操作有深入的研究和實戰經驗,累計服務客戶1000。今天邀請希音老師給大家分享eviews的詳細操作步驟。長文預警!可在文末聯系麻瓜學…

oracle活躍用戶,監控數據庫中的活躍用戶及其運行

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓[sql] view plain copy print?set linesize 120 pagesize 66col c1 for a9col c1 heading "OS User"col c2 for a9col c2 heading "Oracle User"col b1 for a9col b1 heading "Unix PID"col b2 for…

c# 路徑下的最近文件夾_C#8.0的兩個有趣的新特性以及gRPC

最近每天忙著跑很多地方,回家就不想動了,沒什么心情寫東西。今天有空,稍微寫一點。下文中:關于C#語法特性的部分需要Visual Studio 2019支持。關于.NET Core的部分需要安裝.NET 3.0 Preview4,低版本或許也可以但我沒實…

alter table add column多個字段_ElementUI表格el-table表頭固定自適應高度解決方案

一、前言ElementUI、iView都以相同的方式提供了表格組件表頭固定的方法,即設置組件的height屬性。表頭固定很重要,就在于當表格數據項很多時,滾動條出現在表格組件內,而不是出現在表格組件外——這樣的優點在于,滾動瀏…

oracle ora 12011,執行oracle中的job報錯:ORA-12011:無法執行作業1

LZ在做一個job執行每天新增一個表的操作時,存儲過程運行沒問題,job也創建成功,但運行job時,卻報錯: ,后又用sys用戶登陸創建了同樣的存儲過程和job,結果可以執行成功。當時就猜測是權限問題。后…

e盤是否具有讀寫權限_輕松搭建MySQL主從復制、讀寫分離(雙機熱備)

主從復制: 當mysql數據庫的數據量太大的時候,查詢數據就很吃力了,無論怎么優化都會產生瓶頸,這時我們需要增加服務器設備來實現分布式數據庫,實現多機熱備份,要想實現多機的熱備,首先要了解主從…

linux運維之道基礎命令,Linux運維之道(7)——Linux管理類命令

(Linux)[系統管理]1. 目錄管理類命令1.1 cd命令格式:cd [-L|[-P [-e]] [-]] [dir]被你忽略的小知識:在這里科普一個小小的知識點,就是關于cd -為什么可以自由的在當前目錄和之前目錄相互切換?其實,在我們的 Shell 的環…

html畫圖代碼_python之matplotlib畫圖教程(2)

各位小表貝,你們的畫圖小老弟又來咯~上一次我們聊到了如何畫離散圖,這一次我們來點復雜的,準備好了么,系好安全帶,準備發車咯~滴滴~我們先來點比較簡單,那種易于上手的。如果現在我知道了兩個點的坐標&…

在linux上面找一個腳本,30個Linux Shell腳本經典案例

在學習Linux運維時,普遍反饋是:Linux Shell是一個很難的知識板塊。雖然大家都認真學,基本的語法也都掌握了,但有需求時,很難直接上手編程,要么寫了很久,要么寫不好!也有很多做運維很…

python圖像識別代碼_用Python進行簡單圖像識別(驗證碼)

這是一個最簡單的圖像識別,將圖片加載后直接利用Python的一個識別引擎進行識別 將圖片中的數字通過 pytesseract.image_to_string(image)識別后將結果存入到本地的txt文件中 #-*-encoding:utf-8-*- import pytesseract from PIL import Image class GetImageDate(ob…

linux 端口添加地址,linux – 綁定,網絡(接口)和多播地址有什么區別?

實際上你在這里混淆了三種方法.第一個是bind,用于將套接字綁定到指定的地址和端口.使用此方法基本上您打開一個udp-port并等待該地址上的此端口的數據.第二個是join-method,用于讓套接字加入指定的多播組.組播組的示例是224.0.0.1 – “所有主機”組播組 – 其針對同一網段上的…

c++ map初始化_Go學習每日一問(18)-map元素查找

每次學習并整理一個Golang的知識點,每天進步一點點。今天學習下go中的一個知識點:map元素查找日省吾身1.下面代碼中 A B 兩處應該怎么修改才能順利編譯?func main() { var m map[string]int //A m["a"] 1 if v : m["b&q…

linux運維需要哪些網絡知識,Linux運維學習筆記-網絡技術知識體系總結

jTemplates部分語法介紹1.{#if} {#if |COND|}..{#elseif |COND|}..{#else}..{#/if} Examples: {#if 2*816} good {#else} fail {# ...解密jQuery內核 DOM操作方法(二)html,text,val回顧下幾組DOM插入有關的方法 innerHTML 設置或獲取位于對象起始和結束標簽…

-bash: wget: 未找到命令_18個堪稱神器的命令行工具,高效運維必備

上期入口:24個 CSS 高級技巧合集提示:因公眾號不支持超鏈接,上圖所有項目地址,可在公眾號后臺回復關鍵字 “命令行工具” 獲取。thefuck命令行打錯了以后,打一個fuck就會自動糾正。GitHub:https://github.c…

linux編輯java文本,linux下的文本編輯器VI的使用命令

1、 移動光標H        #移到屏幕的左上角M         #移到屏幕的中間行開頭L          #移到屏幕的最后一行[         #移到文件開始位置 (雙擊)]         #移到文件結束位置(雙擊):n         #移到文件的第n行Ctrl b     …

python3.8.0安裝_Python3.8.0

Python3.8.0是一款廣受程序員歡迎的編程語言,也是面向對象的一款設計語言,Python以其語言的靈活和簡易性,具有非常簡捷而清晰的語法特點,在腳本工具、數據分析、web后端等等領域都有著優良的表現,收到了大家的廣泛應用…

linux系統proc目錄,快速了解Linux系統下的proc目錄

/proc/devices文件這個文件列出字符和塊設備的主設備號,以及分配到這些設備號的設備名稱。常用的命令為#cat /proc/devices(在調試驅動的時候這個還是有用的,可以通過lsmod查看驅動模塊是否加載)/proc/interrupts這個文件的每一行都有一個保留的中斷。每…

cv2.error: opencv(4.4.0)_【從零學習OpenCV 4】輪廓面積與長度

本文首發于“小白學視覺”微信公眾號,歡迎關注公眾號 本文作者為小白,版權歸人民郵電出版社發行所有,禁止轉載,侵權必究! 經過幾個月的努力,小白終于完成了市面上第一本OpenCV 4入門書籍《OpenCV 4開發詳解…