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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...