[精讚] [會員登入]
12181

[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

你可能感興趣的文章

[jQuery] select 元件的取值及給值 html中的元件select,在jquery中要如何使用?

正則表達式:Email名稱防止連續輸入點(.)及下底線(_) Email的名稱中要允許特殊符號,但又不允許連續出現的正則表達式

[jQuery] 利用load()來達成ajax的寫法 jQuery中利用load()來達成ajax的寫法,也有人稱他是假的ajax,作法就是..

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

[Bootstrap] Datepicker使用/Bootstrap日期選日期選擇器的使用 Bootstrap日期選日期選擇器的使用

[CKeditor4] 修改調色盤 修改ckeditor預設的調色盤

隨機好文

SELinux 常用指令和檔案 在Redhat系列中,Centos5以後加入了selinux,他並沒有這麼可怕,不必每次看到Selinux ,就想把他

[MAC] 安裝APACHE+PHP OS Darwin OpenIDMac1deAir 15.6.0 Darwin Kernel Version 15.6.

[AS3] 變數型態 基本類型宣告 as3 有下列幾種基本類型:string, int, number, object, boolean, n

超扯童話血多-賣火柴小女孩 這個真的是太扯了,扯到一直笑,尤其是作者出來那段 因為他第一到第九會連播,笑滿累的。如果你看不懂的話表示你的大腦還滿正經

[Apache] 自訂錯誤頁面及移掉歡迎頁 Apache 有一個歡迎頁,以正式網站來說,出現這頁有點不專業,該移除它..