jQeury實現限定上限的多選表單

jQeury在網頁開發中非常有用,我們以前也說過幾次,今天遇到一位讀者的問題:

“老師好,請教一個js的問題!最近在做一個20選10的投票系統,客戶要求每次投票的選項不能超過10個,超過10個就不能投票。(即小於或等於10),請問如何用js來檢測每次投票的選項不能超過10個啊?謝謝!”

這裏我就用jQeury來解決一下這位讀者的問題,爲了代碼簡單,我做一個共有5個備選選項,最多允許選擇2項的例子。

首先寫出HTML

HTML很簡單,不再解釋,接下來看一下jQuery的代碼:

 

 

第1行的作用是引入jQeury庫文件,第2~13行的作用就是實現5個選項中限制最多選兩項的代碼。

第3行中,“$”是一個jquey定義的函數,它的作用是定義在整個頁面裝載到瀏覽器以後,執行括號中指定的函數,也就是下面定義的pageLoaded函數。

第5~7行就定義了這個pageLoaded函數,函數執行的代碼就是第8行中的內容,即首先選中id爲optionDIV中所有checkbox 元素,併爲每一個選中的checkbox元素設定被鼠標單擊時的行爲,即執行括號中的函數,也就是checkboxClicked函數。

第9~12行就定義了checkboxClicked函數,其功能也很簡單,但某個checkbox被單擊以後,判斷一下一共有多少個 checkbox被選中了,如果這個數量大於2,那麼就把當前點擊的這個checkbox的checked屬性,設置爲false,這樣這次點擊就被取消了。

 

從上面代碼中可以看到,Javascript不同傳統的靜態高級語言的一個地方是,它可以非常方便地把函數作爲參數傳遞,這一點很靈活,上面的代碼也可以寫成下面的樣子,效果完全相同。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章