[精讚] [會員登入]
11863

[Jquery] 複選的checkbox取值

遇到複選的checkbox該如何取值?

分享此文連結 //n.sfs.tw/13169

分享連結 [Jquery] 複選的checkbox取值@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-10-25 09:51:21 最後編修
2019-03-17 01:40:43 By 張○○
 

input checkbox欄位一般的用法是這樣

<input name="divide" type="checkbox" /> <label>使用分隔</label>

接收變數時要檢查有沒有"divide" 這個名稱的值即可:

if( !empty($_GET['divide'])) { ... }

但是如果遇到同類型的要選,每個這樣子取名字,和再將取得的值組合,真是麻煩事。

還好,checkbox欄位是可以設定陣列,同時指定 value值,在接收變數時只要取一次即可。

HTML

選擇分格方式   
<input name="divide[]" type="checkbox" value="newline" /> <label>換行</label>
<input name="divide[]" type="checkbox" value="tab"> <label>TAB</label>
<input name="divide[]" type="checkbox" value="semicolon"> <label>分號</label>
<input name="divide[]" type="checkbox" value="colon"> <label>逗點</label>
<input name="divide[]" type="checkbox" value="blank"> <label>空格</label>

這裡name是 divide[],divide變數名後面加了中刮號 "[]"

如果直接submit出去,得到的 $_GET['divide']會是一個陣列

Array(3) [ "newline", "semicolon", "colon" ]

這樣子好處是只要取一次值即可。

但要特別注意,如果使用者全部都沒勾選的話,該變數會不存在

如果要在前端使用jquery取值的話,寫法是這樣的:

var divs= $("input[name='divide[]']:checked").map(function() { return $(this).val(); }).get();

divs 在JS中是個陣列

Array(3) [ "newline", "semicolon", "colon" ]

特別注意那個 name裡面不能只寫 [name='divide']。

漏了中刮號的話你什麼都取不到,至於[1]可以作用?可能是不同版本的jquery不同吧。

 

參考資料

[1] http://blog.twbryce.com/jquery-get-checkbox-value/

END

你可能感興趣的文章

[Javascript/Jquery] 移除textarea中空行、空白行。 textarea中要移除沒內容的空行、只有空白的行、只有定位字元的行

[Javascript] NaN是什麼? javascript 的NaN和取得整數

[Ckeditor4] 讀、寫與插入內容到欄位 Ckeditor4 提供非常多方法,可以插入、讀取和寫入到TEXTAREA中

[Javascript] 偵錯方式 (火狐中的javascript偵錯) javascript 並不是很容易偵錯(debug)的語言,但那是以前,現在有很多瀏覽器支持很多的工具,此文以火狐為例談談偵錯...

Jquery+CSS div區塊的拖拉(drag and drop)效果 網頁想要做到拖拉區塊的功能,但又不想使用他人的插件或是 jquery-ui的話,怎麼做?

[Vue3.js] vue3 運行時出現 Network: unavailable 的解決方法 vue3 運行測試平台時如果需要遠端連線的話怎麼辦?

隨機好文

世紀帝國征服者新版本--被遺忘的帝國 世紀帝國征服者新版本--被遺忘的帝國 世紀二代的征服者是精典遊戲中的精典,aofe更好玩...

設計的工作絕不接受比價 拿買陽春麵的價格想買牛肉麵,寧願倒掉也不賣

[CodeIgniter 3] 資料庫的使用方法整理2/2 CI3 承襲 CI2,有很多的builder class可以用,依各人的使用習慣,有人喜歡一堆sql字串,有人喜歡用helper

[AS3] FLASH 引入外部as檔 FLASH AS3中,若要引用另外撰寫的 class(*.as) 檔案,該如何處理?

[HTLM5] 表單color、email、url、search、tel輸入類型 介紹HTML5好用的輸入類型:color、email、url,以及兩個形同雞肋的類型search、tel..