[JS] Radio Shift Multi Select

最近工作需要寫了個小程式,這邊做個紀錄

程式碼在這邊:http://jsfiddle.net/mesak/AZnpP/1/embedded/result/

這個程式的作用是 點第一個物件,按住 Shift ,點第 n 個物件,在第一個到第n 個物件都會被 checked

這個功能在 gmail 也有實現出來

解釋一下 這個程式的大概語意

首先需要把 物件根據自己的 value 做分類,以防多次 selector,節省一點記憶體是很重要的www

接著把事件綁在 所有 radio 上,根據他的 value 值去取得目前 物件在 群組內的數值

如果 shift 被按下 就把 起始值 index 與 目前被選擇的物件 index  區間內的物件 被選擇

接著把 目前的 index 值 set 到 外部的 index 值

如果要改成  checkbox  則需要在 事件中 把 checked 值給抓取下來

把後段的 true 改成 checked 就可以 多選取消、多選核選

我是米薩克,想了解更多可以點選  關於我