jQuery实现获取选中复选框的值
應用場景:
我們應該經常見到系統中出現列表,會有一個對列表數據的操作(如刪除,
修改,查看等)。我們可以在每個列表項后面加一個刪除按鈕,把列表項的
相關參數(如 id)post到后臺進行刪除。當然如果你每次只要刪除一兩條數
據這樣子做并沒有什么問題,但是如果你需要一次性刪 除100條,你還去一條
條的刪除嗎?每一次刪除10條會不會更好些呢?
好了,接下來。我們就使用jQuery解決這個問題。
首先,假設我們需要刪除5個列表項。HTML里面列表標簽是ul和ol, 其中ul是無序的,而ol是有序。每一個列表項使用li。
?
假設我們只需傳遞水果的ID到后臺就可以刪除所有水果。那么傳遞一個數組為[0001,0002,0003,0004,0005]到后臺就可以了。所以,我們需要獲取5個li元素中input標簽的value值。
很明顯,你的思路可能是利用jQuery篩選器先得到li下的input對象數組,再遍歷這個數組,判斷每一個input對象,然后判斷input對象是否選中,選中就用val()函數獲取它的值,然后把該值放入一個用來存儲id的數組arr中。
【關鍵點】選擇器,遍歷,數組。
1.獲取被選中的數組對象
jQuery的選擇器中’ :checkbox’ 是查找所有復選框。
?
2.遍歷這個對象數組
jQeury的each函數:為每個匹配元素規定運行的函數。
each函數:
語法: $(selector).each(function(index,element))?
[注意]key,function(index,attr)中返回的屬性值的函數,第一個參數為當前
元素的索引值,第二個參數為原先的屬性值。
示例:
1.參數name的描述: 選中復選框的為true, 沒選中為false 選中: $("input[type='checkbox']").prop("checked",true); 沒選中: $("input[type='checkbox']").prop("checked",false);2.參數perporties描述: 禁用頁面上的所有復選框。 $("input[type='checkbox']").prop({disabled:true});3.參數key,回調函數描述: 通過函數來設置所有頁面上的復選框反選。 $("input[type='checkbox']").prop("checked",fucntion(i, val){return !val; });3.數組
這個最簡單。jQuery定義一個數組。
所以最后的代碼:
<!DOCTYPE html> <html> <head><title>Jquery復選框練習</title><!-- 引入jQuery,引入你自己的jQuery文件 --><script type="text/javascript" src="../scripts/jquery-1.7.2.js"></script> </head> <body><div><p>選擇要購買的水果</p><ul id="fruit"><li><input type="checkbox" value="001"/>蘋果</li><li><input type="checkbox" value="002"/>雪梨</li><li><input type="checkbox" value="003"/>芒果</li><li><input type="checkbox" value="004"/>菠蘿</li></ul><input type="checkbox" id="All"/><button id="checkAll">全選</button><button id="nothing">全不選</button><button id="reverseAll">反選</button><button class="chooseFruit">購買</button><script type="text/javascript"><!-- 選擇全部/全不選 -->$("#All").click(function(){if("this.checked"){$("#fruit :checkbox").prop("checked", true);}else{$("#fruit :checkbox").prop("checked", false);}});<!--選擇全部-->$("#checkAll").click(function(){$("#fruit :checkbox").prop("checked", true);});<!--全不選-->$("#nothing").click(function(){$("#fruit :checkbox").prop("checked", false);});<!--反選-->$("#reverseAll").click(function(){$("#fruit :checkbox").each(function(i){$(this).prop("checked", !$(this).prop("checked"));});});<!--獲取選中復選框的值-->$(".chooseFruit").click(function(){var arr = new Array();$("#fruit :checkbox[checked]").each(function(i){arr[i] = $(this).val();});var vals = arr.join(",");console.log(vals);});</script></div> </body> </html>轉自:https://blog.csdn.net/sinat_20418545/article/details/73478617
總結
以上是生活随笔為你收集整理的jQuery实现获取选中复选框的值的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 福平沿海抗日游击队第8中队驻地旧址怎么样
- 下一篇: 大国兵器课程号是多少?