二級聯動下拉菜單選擇應用在在很多地方,比如說省市下拉聯動,商品大小類下拉選擇聯動。本文將通過實例講解使用jQuery+PHP+MySQL來實現大小分類二級下拉聯動效果。
實現的效果就是當選擇大類時,小類下拉框里的選項內容也隨着改變。實現原理:根據大類的值,通過jQuery把值傳給后台PHP處理,PHP通過查詢MySQl數據庫,得到相應的小類,並返回JSON數據給前端處理。
首先我們要建立兩個下拉選擇框,第一個是大類,第二個是小類。大類的值可以是預先寫好,也可以是從數據庫讀取。
實現原理: 先寫一個函數,獲取大類選擇框的值,並通過$.getJSON方法傳遞給后台server.php,讀取后台返回的JSON數據,並通過$.each方法遍歷JSON數據,將對應的值寫入一個option字符串,最后將option追加到小類里。
復制代碼
function getSelectVal(){
$.getJSON("server.php",{bigname:$("#bigname").val()},function(json){
var smallname = $("#smallname");
$("option",smallname).remove(); //清空原有的選項
$.each(json,function(index,array){
var option = "<option value='"+array['id']+"'>"+array['title']+"";
smallname.append(option);
});
});
}
注意,在遍歷JSON數據追加之前一定要先將小類里的原有的項清空。清空選項的方法有兩種,一種是上文代碼中提到,還有一種更簡單直接的方法:
smallname.empty();
然后,在頁面載入后執行調用函數:
復制代碼
$(function(){
getSelectVal();
$("#bigname").change(function(){
getSelectVal();
});
});
在頁面初始的時候,下拉框是要設置選項的,所以在初始的時候就要調用getSelectVal(),而當大類選項改變時,也調用了getSelectVal()。
PHP
復制代碼
include_once("connect.php"); //鏈接數據庫
$bigid = $_GET["bigname"];
if(isset($bigid)){
$q=mysql_query("select * from catalog where cid = $bigid");
while($row=mysql_fetch_array($q)){
$select[] = array("id"=>$row[id],"title"=>$row[title]);
}
echo json_encode($select);
}
根據jQuery傳遞過來的大類的value值,構造SQL語句查詢分類表,最終輸出JSON數據。本站在未做特別說明的情況下所使用的PHP與MySQL連接,和查詢語句等均使用原始語句方法如mysql_query等,目的就是為了讓讀者能夠直觀的知曉數據的傳輸查詢。
最后附上MYSQL表結構:
復制代碼
CREATE TABLE catalog
(
id
mediumint(6) NOT NULL auto_increment,
cid
mediumint(6) NOT NULL default '0',
title
varchar(50) NOT NULL,
PRIMARY KEY (id
)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
如何刪除系統通知圖標欄中已經被刪除或卸載的軟件圖標?
- 這些圖標是保持在注冊表中的, 要刪除這些已經過期 的被刪除或卸載掉軟件的圖標通知, 要刪除:
hkey_current_user \ software \ classes(類別) \ Local settings \software \ microsoft\windows\currentVersion\TrayNotify \
這個 注冊項中的 兩個鍵: IconStreams, PastIconStream 因為在 IconStreams 和PastIconStream中就保留着所有的/過去的所有的歷史軟件的圖標. - 然后通過任務管理器, 先結束掉 explorer這個進程, 再啟動這個進程, 就可以看到 托盤通知 欄中的圖標就干凈了.
無法新建庫?
- 打開 gpeidt.msc 中的 用戶配置/組件管理/windows組件/ "禁止用戶將文件添加到 用戶文件夾 的根目錄下" 將其設置為 "未配置"
- 如果還是不行, 可能是 ghost的時候, 將這個 庫 的功能給 去掉了.
intel的 核顯 是指其GPU和 cpu合並在 一個芯片上的, 他主要提供了三個進程:
這三個進程都是以 igfx- 開頭的:
igfxEM.exe進程
igfxHK.exe進程
igfxCUIService.exe進程 CUI: common user interface 通用的用戶接口 模塊.
#### 在windows 中也能找到 linux下的一些痕跡: 比如 家目錄$Home, 就是: C:\Users\Administrator\, 同時家目錄下, 也有相應的 分類目錄, 比如: Documents, Downloads, Videos, Music等.就是我的文檔, 我的下載等等... - windows 下的命名大小寫: 一般 磁盤分區用 大寫, 如C:, D:, 一般 目錄也是 駝峰法的 首字母大寫, C:\Program Files\WinRar - 在vim中查看環境變量, 使用 echo $Home命令, echo要小寫, 而變量名稱可以小寫,包括: echo $vim: 是 C:\Program Files\Vim, echo $vimruntime是: C:\Program Files\Vim\Vim71, - 為什么 目錄后面一般不加 斜杠? (除了在web地址的目錄外), 因為這便於在后面 跟上后續目錄名稱的時候, 一般都會附加 反斜杠, 這樣才不會重復 - 實際上, 各種操作系統都在互相借鑒, 融合, 操作都基本上越來越接近,相似.
**在windows中, 也可以進行一些命令行操作, 比如 type打印文本文件的內容, 刪除文件: del, 刪除目錄 rmdir , 重定向: type nul > foo.txt **
為什么設置了nobackup還是有~結尾的備份文件?
是因為 引入了 $VIMRUNTIME 即C:\Program Files\Vim\vim71 目錄下的vimrc_example.vim文件,而且這個文件的位置 還放在了 set nobackup的后面, 從而把它給覆蓋了.
在 vimrc_example.vim中, 有:
if has("vms") // vms: virtual memory system :虛擬內存系統.
set nobackup
else
set backup
endif
如何修改在列表視圖時, 鍵入字母自動到搜索框?
- 修改"組織" > 文件夾和搜索 > 鍵入列表視圖時 > 在列表視圖中選擇鍵入.