jquery實現全選、不選、反選的兩種方法

来源:http://www.cnblogs.com/annie211/archive/2016/09/05/5843364.html
-Advertisement-
Play Games

在取覆選框checkbox的屬性checked屬性值時,發現一個問題,就是當用attr取值時,真的為"checked",假的為"undefined";當用prop取值時,真的為"true",假的為"false"。經過網上參考一些資料,及根據官方的建議這兩個用法:具有 true 和 false 兩個屬 ...


在取覆選框checkbox的屬性checked屬性值時,發現一個問題,就是當用attr取值時,真的為"checked",假的為"undefined";當用prop取值時,真的為"true",假的為"false"。經過網上參考一些資料,及根據官方的建議這兩個用法:具有 true 和 false 兩個屬性的屬性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()。

 

方法一:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>全選、不選、反選 1</title>
<script src="jquery.min.js"></script>
<script>
$(function(){
$('.check .btn1').click(function(){//全選
$('.music :checkbox').prop('checked',true);
});

$('.check .btn2').click(function(){//全不選
$('.music :checkbox').prop('checked',false);
});

$('.check .btn3').click(function(){//反選
$('.music :checkbox').each(function(){
$(this).prop('checked',!$(this).prop('checked'));
});
});
});
</script>
</head>
<body>
<div class="music">
<input type="checkbox" name="music1" value="小白兔">小白兔<br>
<input type="checkbox" name="music2" value="小燕子">小燕子<br>
<input type="checkbox" name="music3" value="哈巴狗">哈巴狗<br>
<input type="checkbox" name="music4" value="小青蛙">小青蛙<br>
<input type="checkbox" name="music5" value="數鴨子">數鴨子<br><br>
</div>
<div class="check">
<button class="btn1">全選</button>
<button class="btn2">全不選</button>
<button class="btn3">反選</button>
</div>
</body>
</html>

 

方法二:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>全部由jquery動態生成</title>
<script src="jquery.min.js"></script>
<script>
function checkAll(){//全選
$(":checkbox").prop("checked",true);
}
function checkNo(){//全不選
$(":checkbox").prop("checked",false);
}
function checkRev(){//反選
$(":checkbox").each(function(){
$(this).prop("checked",!$(this).prop("checked"));
});
}

$(function(){
var sec=$("<div></div>").appendTo($("body"));//創建一個div追加到body裡面
var input="";//創建一個空的變數
for(var i=0;i<5;i++){
var index=i+1;
input+="<input type='checkbox' name='標題'"+index+"value='標題'"+index+">"+"標題"+index+"<br>";
}//把從0到4每一個創建的input收集到空變數裡面
sec.append(input);//再把這些收集到的所有input追加到div裡面

sec.append($("<button onclick='checkAll()'>全選</button>"));//創建全選按鈕,並追加到div裡面
sec.append($("<button onclick='checkNo()'>全不選</button>"));//創建全不選按鈕,並追加到div裡面
sec.append($("<button onclick='checkRev()'>反選</button>"));//創建反選按鈕,並追加到div裡面
});
</script>
</head>
<body>
</body>
</html>


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Atitit.提升 升級類庫框架後的api代碼相容性設計指南 1. 增加api直接增加,版本號在註釋上面增加1 2. 廢棄api,使用主見@dep1 3. 修改api,1 4. 修改依賴import,雅瑤增加文件模式。保持相容性。。1 5. 優先選擇同一個文件內的修改,因為文件多了不好管理了,編譯速 ...
  • Java無疑是最成功的項目之一了,而在其中學習設計模式和架構設計,無疑是最好不過了。 概念: 提供一種方法訪問容器中的各個元素,而又不暴露該對象的內部細節。 使用場景: 和容器經常在一起,我們定義了一個容器,還要提供外部訪問的方法,迭代器模式無疑是最好不過了。 迭代器模式的UML類圖: 下麵的代碼是 ...
  • 今天我們來聊聊如何跟Unity學代碼優化,準確地說,是通過學習Unity的IL2CPP技術的優化策略,應用到我們的日常邏輯開發中。 ...
  • Array對象 創建數組: 數組字面量:var arr1 = [1,2,3]; Array構造函數1:var arr2 = new Array(1,2,3); //[1,2,3] Array構造函數2:var arr3 = new Array(3); var arr3 = new Array(‘3’ ...
  • 定義和用法 push方法 可向數組的末尾添加一個或多個元素,並返回一個新的長度。 join方法 用於把數組中所有元素添加到一個指定的字元串,元素是通過指定的分隔符進行分割的。 語法 arrayObject.push(newelement1,newelement2,....,newelementX) ...
  • 有不問題的地方 還忘指點 源代碼: ...
  • 我們可以在創建對象的函數中直接吸收其他對象的功能,然後對其進行擴展並返回。 下麵,我們用對象表示法第一個普通對象,這是它還看不出有任何被寄生的可能性: 然後我們就用來編寫用於創建triangle對象的函數。 1. 將twoD對象克隆進一個叫做that對象,這一步可以使用我們之前所討論過的任何方法,例 ...
  • 剛做好公司網站,通過全屏滾動,顯著提高了官網的瀏覽體驗。遂總結一下使用fullpage.js的方法。歡迎指正 一. fullpage.js簡介 fullpage.js是一套實現瀏覽器全屏滾動的js插件,很多網站現在都使用了其來實現較好的瀏覽體驗。 可以實現的功能: 支持前進後退和鍵盤控制 多個回調函 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...