select 元素可創(chuàng)建單選或多選菜單。
為衢州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及衢州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)、衢州網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
select 元素中的 option 標(biāo)簽用于定義列表中的可用選項(xiàng)。
DHTML代碼范例
The following example demonstrates the order of event firing for the onactivate and onload events. As each event fires, it appends a string to the div element within the document. the onactivate event fires before the onload event.
HTML
HEAD
SCRIPT
function fnActivate(){
oDIV1.innerHTML += "BRBRThe Bonactivate/B event, available as of \
Internet Explorer 5.5, fires first on the BODY element.";
}
function fnLoad(){
oDIV1.innerHTML += "BRBRThe Bonload/B event, available as of \
Internet Explorer 4.0, fires after the ionactivate/i event fires \
on the BODY element.";
}
/SCRIPT
/HEAD
BODY onactivate="fnActivate();" onload="fnLoad();"
DIV id="oDIV1"/DIV
/BODY
/HTML
3種辦法可以達(dá)到效果:
1、你自己用js模擬寫一個(gè)下拉效果,這種不推薦,寫得太麻煩。
2、你搜索一下“select2”這個(gè)插件就是要的,引入后使用非常方便,效果也是比較好的。
3、html5的標(biāo)簽屬性,但效果一般,并且需要支持html5的瀏覽器支持,例子如下:
input id="myCar" list="cars" /
datalist id="cars"
option value="BMW"
option value="Ford"
option value="Volvo"
/datalist
除非最終檢索它們并利用它們來做點(diǎn)事情,否則將記錄放入數(shù)據(jù)庫沒什么好處。這就是 SELECT 語句的用途,即幫助取出數(shù)據(jù)。SELECT 大概是 SQL 語言中最常用的語句,而且怎樣使用它也最為講究;用它來選擇記錄可能相當(dāng)復(fù)雜,可能會(huì)涉及許多表中列之間的比較。本節(jié)介紹Select語句關(guān)于查詢的最基本功能。
SELECT 語句的語法如下:
SELECT selection_list 選擇哪些列
FROM table_list 從何處選擇行
WHERE primary_constraint 行必須滿足什么條件
GROUP BY grouping_columns 怎樣對(duì)結(jié)果分組
HAVING secondary_constraint 行必須滿足的第二條件
ORDER BY sorting_columns 怎樣對(duì)結(jié)果排序
LIMIT count 結(jié)果限定
注意:所有使用的關(guān)鍵詞必須精確地以上面的順序給出。例如,一個(gè)HAVING子句必須跟在GROUP BY子句之后和ORDER BY子句之前。
除了詞“SELECT”和說明希望檢索什么的 column_list 部分外,語法中的每樣?xùn)|西都是可選的。有的數(shù)據(jù)庫還需要 FROM 子句。MySQL 有所不同,它允許對(duì)表達(dá)式求值而不引用任何表。
查詢特定行:
你能從你的表中只選擇特定的行。例如,如果你想要驗(yàn)證你對(duì)Bowser的出生日期所做的改變,像這樣精選Bowser的記錄:
mysql SELECT * FROM pet WHERE name = "Bowser";
其結(jié)果為:
+--------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+-------+---------+------+------------+------------+
| Bowser | Diane | dog | m | 1990-08-31 | 1995-07-29 |
+--------+-------+---------+------+------------+------------+
你可以對(duì)照前一個(gè)例子來驗(yàn)證。
進(jìn)行表達(dá)式計(jì)算
前面的多數(shù)查詢通過從表中檢索值已經(jīng)產(chǎn)生了輸出結(jié)果。MySQL 還允許作為一個(gè)公式的結(jié)果來計(jì)算輸出列的值。表達(dá)式可以簡單也可以復(fù)雜。下面的查詢求一個(gè)簡單表達(dá)式的值(常量)以及一個(gè)涉及幾個(gè)算術(shù)運(yùn)算符和兩個(gè)函數(shù)調(diào)用的較復(fù)雜的表達(dá)式的值。例如,計(jì)算Browser生活的天數(shù):
mysql SELECT death-birth FROM pet WHERE name="Bowser";
其結(jié)果是:
+-------------+
| death-birth |
+-------------+
| 49898 |
+-------------+
由于MySQL允許對(duì)表達(dá)式求值而不引用任何表。所以也可以這樣使用:
mysqlselect (2+3*4.5)/2.5;
其結(jié)果為:
+---------------+
| (2+3*4.5)/2.5 |
+---------------+
| 6.200 |
+---------------+
條件查詢
不必每次查詢都返回所有的行記錄,你能從你的表中只選擇特定的行。為此你需要使用WHERE或者HAVING從句。HAVING從句與WHERE從句的區(qū)別是,HAVING表達(dá)的是第二條件,在與其他從句配合使用,顯然不能在WHERE子句中的項(xiàng)目使用HAVING。因此本小節(jié)緊介紹WHERE從句的使用,HAVING從句的使用方法類似。另外WHERE從句也可以實(shí)現(xiàn)HAVING從句的絕大部分功能。
為了限制 SELECT 語句檢索出來的記錄集,可使用 WHERE 子句,它給出選擇行的條件。可通過查找滿足各種條件的列值來選擇行。
WHERE 子句中的表達(dá)式可使用表1 中的算術(shù)運(yùn)算符、表2 的比較運(yùn)算符和表3 的邏輯運(yùn)算符。還可以使用圓括號(hào)將一個(gè)表達(dá)式分成幾個(gè)部分。可使用常量、表列和函數(shù)來完成運(yùn)算。在本教程的查詢中,我們有時(shí)使用幾個(gè) MySQL 函數(shù),但是 MySQL 的函數(shù)遠(yuǎn)不止這里給出的這些。請(qǐng)參閱附錄 一,那里給出了所有MySQL 函數(shù)的清單。
例如,如果你想要驗(yàn)證你對(duì)Bowser的出生日期所做的改變,像這樣精選Bowser的記錄:
mysql SELECT * FROM pet WHERE name = "Bowser";
+--------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+-------+---------+------+------------+------------+
| Bowser | Diane | dog | m | 1990-08-31 | 1995-07-29 |
+--------+-------+---------+------+------------+------------+
輸出證實(shí)出生年份現(xiàn)在正確記錄為1990,而不是1909。
字符串比較通常是大小些無關(guān)的,因此你可以指定名字為"bowser"、"BOWSER"等等,查詢結(jié)果將是相同的。
你能在任何列上指定條件,不只是name。例如,如果你想要知道哪個(gè)動(dòng)物在1998以后出生的,測(cè)試birth列:
mysql SELECT * FROM pet WHERE birth = "1998-1-1";
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+-------+---------+------+------------+-------+
你能組合條件,例如,找出雌性的狗:
mysql SELECT * FROM pet WHERE species = "dog" AND sex = "f";
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
上面的查詢使用AND邏輯操作符,也有一個(gè)OR操作符:
mysql SELECT * FROM pet WHERE species = "snake" OR species = "bird";
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
| Slim | Benny | snake | m | 1996-04-29 | NULL |
+----------+-------+---------+------+------------+-------+
AND和OR可以混用。如果你這樣做,使用括號(hào)指明條件應(yīng)該如何被分組是一個(gè)好主意:
mysql SELECT * FROM pet WHERE (species = "cat" AND sex = "m")
- OR (species = "dog" AND sex = "f");
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
查詢排序
使用ORDER BY子句對(duì)查詢返回的結(jié)果按一列或多列排序。ORDER BY子句的語法格式為:
ORDER BY column_name [ASC|DESC] [,…]
其中ASC表示升序,為默認(rèn)值,DESC為降序。ORDER BY不能按text、text和image數(shù)據(jù)類型進(jìn)行排 序。另外,可以根據(jù)表達(dá)式進(jìn)行排序。
例如,這里是動(dòng)物生日,按日期排序:
mysql SELECT name, birth FROM pet ORDER BY birth;
+----------+------------+
| name | birth |
+----------+------------+
| Buffy | 1989-05-13 |
| Fang | 1990-08-27 |
| Bowser | 1990-08-31 |
| Fluffy | 1993-02-04 |
| Claws | 1994-03-17 |
| Slim | 1996-04-29 |
| Whistler | 1997-12-09 |
| Chirpy | 1998-09-11 |
| Puffball | 1999-03-30 |
+----------+------------+
為了以逆序排序,增加DESC(下降 )關(guān)鍵字到你正在排序的列名上:
mysql SELECT name, birth FROM pet ORDER BY birth DESC;
+----------+------------+
| name | birth |
+----------+------------+
| Puffball | 1999-03-30 |
| Chirpy | 1998-09-11 |
| Whistler | 1997-12-09 |
| Slim | 1996-04-29 |
| Claws | 1994-03-17 |
| Fluffy | 1993-02-04 |
| Bowser | 1990-08-31 |
| Fang | 1990-08-27 |
| Buffy | 1989-05-13 |
+----------+------------+
你能在多個(gè)列上排序。例如,按動(dòng)物的種類排序,然后按生日,首先是動(dòng)物種類中最年輕的動(dòng)物,使用下列查詢:
mysql SELECT name, species, birth FROM pet ORDER BY species, birth DESC;
+----------+---------+------------+
| name | species | birth |
+----------+---------+------------+
| Chirpy | bird | 1998-09-11 |
| Whistler | bird | 1997-12-09 |
| Claws | cat | 1994-03-17 |
| Fluffy | cat | 1993-02-04 |
| Bowser | dog | 1990-08-31 |
| Fang | dog | 1990-08-27 |
| Buffy | dog | 1989-05-13 |
| Puffball | hamster | 1999-03-30 |查詢分組與行計(jì)數(shù)
GROUP BY 從句根據(jù)所給的列名返回分組的查詢結(jié)果,可用于查詢具有相同值的列。其語法為:
GROUP BY col_name,….
你可以為多個(gè)列分組。
例如:
mysqlSELECT * FROM pet GROUP BY species;
+----------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+--------+---------+------+------------+-------+
| Chirpy | Gwen | bird | f | 1998-09-11 | NULL |
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
| Slim | Benny | snake | m | 1996-04-29 | NULL |
+----------+--------+---------+------+------------+-------+
由以上結(jié)果可以看出:
查詢顯示結(jié)果時(shí),被分組的列如果有重復(fù)的值,只返回靠前的記錄,并且返回的記錄集是排序的。這并不是一個(gè)很好的結(jié)果。僅僅使用GROUP BY從句并沒有什么意義,該從句的真正作用在于與各種組合函數(shù)配合,用于行計(jì)數(shù)。
1、COUNT()函數(shù)計(jì)數(shù)非NULL結(jié)果的數(shù)目。
你可以這樣計(jì)算表中記錄行的數(shù)目:
mysql select count(*) from pet;
+----------+
| count(*) |
+----------+
| 9 |
+----------+
計(jì)算sex為非空的記錄數(shù)目:
mysql select count(sex) from pet;
+------------+
| count(sex) |
+------------+
| 8 |
+------------+
現(xiàn)在配合GROUP BY 從句使用。
例如:要知道每個(gè)主人有多少寵物
mysql SELECT owner, COUNT(*) FROM pet GROUP BY owner;
+--------+----------+
| owner | COUNT(*) |
+--------+----------+
| Benny | 2 |
| Diane | 2 |
| Gwen | 3 |
| Harold | 2 |
+--------+----------+
又如,每種寵物的個(gè)數(shù):
mysql SELECT species,count(*) FROM pet GROUP BY species;
+---------+----------+
| species | count(*) |
+---------+----------+
| bird | 2 |
| cat | 2 |
| dog | 3 |
| hamster | 1 |
| snake | 1 |
+---------+----------+
如果你除了計(jì)數(shù)還返回一個(gè)列的值,那么必須使用GROU BY語句,否則無法計(jì)算記錄。例如上例,使用GROUP BY對(duì)每個(gè)owner分組所有記錄,沒有它,你得到的一切是一條錯(cuò)誤消息:
mysql SELECT owner, COUNT(owner) FROM pet;
ERROR 1140 at line 1: Mixing of GROUP columns (MIN(),MAX(),COUNT()...)
with no GROUP columns is illegal if there is no GROUP BY clause
也可以根據(jù)多個(gè)列分組,例如:
按種類和性別組合的動(dòng)物數(shù)量:
mysql SELECT species, sex, COUNT(*) FROM pet GROUP BY species, sex;
+---------+------+----------+
| species | sex | COUNT(*) |
+---------+------+----------+
| bird | NULL | 1 |
| bird | f | 1 |
| cat | f | 1 |
| cat | m | 1 |
| dog | f | 1 |
| dog | m | 2 |
| hamster | f | 1 |
| snake | m | 1 |
+---------+------+----------+
| Slim | snake | 1996-04-29 |
+----------+---------+------------+
注意DESC關(guān)鍵詞僅適用于緊跟在它之前的列名字(birth);species值仍然以升序被排序。注意,輸出首先按照species排序,然后具有相同species的寵物再按照birth降序排列。
查詢多個(gè)表
查詢多個(gè)表,F(xiàn)ROM子句列出表名,并用逗號(hào)分隔,因?yàn)椴樵冃枰獜乃麄儍蓚€(gè)拉出信息。
當(dāng)組合(聯(lián)結(jié)-join)來自多個(gè)表的信息時(shí),你需要指定在一個(gè)表中的記錄怎樣能匹配其它表的記錄。這很簡單,因?yàn)樗鼈兌加幸粋€(gè)name列。查詢使用WHERE子句基于name值來匹配2個(gè)表中的記錄。
因?yàn)閚ame列出現(xiàn)在兩個(gè)表中,當(dāng)引用列時(shí),你一定要指定哪個(gè)表。這通過把表名附在列名前做到。
現(xiàn)在有一個(gè)event表:
mysqlselect * from event;
+----------+------------+----------+-----------------------------+
| name | date | type | remark |
+----------+------------+----------+-----------------------------+
| Fluffy | 1995-05-15 | litter | 4 kittens, 3 female, 1 male |
| Buffy | 1993-06-23 | litter | 5 puppies, 2 female, 3 male |
| Buffy | 1994-06-19 | litter | 3 puppies, 3 female |
| Chirpy | 1999-03-21 | vet | needed beak straightened |
| Slim | 1997-08-03 | vet | broken rib |
| Bowser | 1991-10-12 | kennel | NULL |
| Fang | 1991-10-12 | kennel | NULL |
| Fang | 1998-08-28 | birthday | Gave him a new chew toy |
| Claws | 1998-03-17 | birthday | Gave him a new flea collar |
| Whistler | 1998-12-09 | birthday | First birthday |
+----------+------------+----------+-----------------------------+
同樣方法也可用于同一張表中,你不必有2個(gè)不同的表來執(zhí)行一個(gè)聯(lián)結(jié)。如果你想要將一個(gè)表的記錄與同一個(gè)表的其他記錄進(jìn)行比較,聯(lián)結(jié)一個(gè)表到自身有時(shí)是有用的。例如,為了在你的寵物之中繁殖配偶,你可以用pet聯(lián)結(jié)自身來進(jìn)行相似種類的雄雌配對(duì):
mysql SELECT p1.name, p1.sex, p2.name, p2.sex, p1.species
- FROM pet AS p1, pet AS p2
- WHERE p1.species = p2.species AND p1.sex = "f" AND p2.sex = "m";
+--------+------+--------+------+---------+
| name | sex | name | sex | species |
+--------+------+--------+------+---------+
| Fluffy | f | Claws | m | cat |
| Buffy | f | Fang | m | dog |
| Buffy | f | Bowser | m | dog |
+--------+------+--------+------+---------+
123456selection{appearance:none;-moz-appearance: none; /* Firefox */-webkit-appearance:none; /* Safari 和 Chrome */}可以用appearance去掉默認(rèn)樣式,然后你就能隨便搞了。
次次都create相同ID/名稱的,就會(huì)報(bào)錯(cuò)了。
要么換名稱、要么刪除上一次創(chuàng)建的
文章標(biāo)題:html5select,html5selectoption與超鏈接
分享路徑:http://jinyejixie.com/article24/dsdjjce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、企業(yè)網(wǎng)站制作、微信公眾號(hào)、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、外貿(mào)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)