鍍金池/ 問答/HTML/ jquery最新版如何實現(xiàn)全選,不全選。

jquery最新版如何實現(xiàn)全選,不全選。

在學(xué)習(xí)鋒利的jquery中,
當(dāng)html結(jié)構(gòu)內(nèi)容相同的時候,我分別引入了舊版本jquery(書中的1.71版) 和最新版時遇到了一個問題。
總共有四個復(fù)選框,在舊版本jquery中,可以正常執(zhí)行。
然而在新版本中,如果不去手動點擊復(fù)選框改變選中狀態(tài),全選和不全選兩個按鈕都能正常工作;
當(dāng)我手動點擊復(fù)選框改變其狀態(tài),全選和不全選兩個按鈕對于我點擊過的復(fù)選框都失靈了。只能手動點擊復(fù)選框切換選中狀態(tài)。

為什么會這樣?有什么解決方法么? 謝謝。

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
 <!--   引入jQuery -->
<script src="../../scripts/jquery.js" type="text/javascript"></script>
 <script type="text/javascript">
  $(function(){
     //全選
     $("#CheckedAll").click(function(){
         $('[name=items]:checkbox').attr('checked', true);
     });
     //全不選
     $("#CheckedNo").click(function(){
        $('[type=checkbox]:checkbox').attr('checked', false);
     });
     
  })

  </script>
</head>
<body>
<form method="post" action="">
   你愛好的運動是?
   <br/>
    <input type="checkbox" name="items" value="足球"/>足球
    <input type="checkbox" name="items" value="籃球"/>籃球
    <input type="checkbox" name="items" value="羽毛球"/>羽毛球
    <input type="checkbox" name="items" value="乒乓球"/>乒乓球
   <br/>
    <input type="button" id="CheckedAll" value="全 選"/>
    <input type="button" id="CheckedNo" value="全不選"/>

</form>
</body>
</html>
回答
編輯回答
舊酒館

改成這樣

$("#CheckedAll").click(function(){
         $('[name=items]:checkbox').prop('checked', true);
     });
     //全不選
     $("#CheckedNo").click(function(){
        $('[type=checkbox]:checkbox').prop('checked', false);
     });
2018年4月17日 09:05