简体   繁体   English

如何计算变绿的项目a <p> 当所有项目都标记为绿色?

[英]how do I count the items that turned green an show a <p> when all items are marked green?

I have made a checklist. 我已经制作了一份清单。 Now I want to show a text when all the checkboxes are green. 现在我想在所有复选框都是绿色时显示文本。 I don't know how can I count the checkbox. 我不知道如何计算复选框。 Somebody who can help me to this code? 有人可以帮我这个代码吗?

 $(document).ready(function() { $("i").click(function() { $(this).css("color", "#5c8c44"); $(this).parent().css("font-weight", "bold"); }); $("#reset").click(function() { $("i").css("color", "red"); $("li").css("font-weight", "normal"); }); }); 
 ul li { list-style: none; } ul li i { color: red; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"> <h2>Checklist</h2> <ul> <li><i class="fas fa-check-square"></i> Item 1</li> <li><i class="fas fa-check-square"></i> Item 2</li> <li><i class="fas fa-check-square"></i> Item 3</li> <li><i class="fas fa-check-square"></i> Item 4</li> <li><i class="fas fa-check-square"></i> Item 5</li> <li><i class="fas fa-check-square"></i> Item 6</li> <li><i class="fas fa-check-square"></i> Item 7</li> <li><i class="fas fa-check-square"></i> Item 8</li> <li><i class="fas fa-check-square"></i> Item 9</li> <li><i class="fas fa-check-square"></i> Item 10</li> </ul> <button id="reset">Reset checklist</button> <script src="https://code.jquery.com/jquery-3.4.1.js"></script> 

How about keeping a counter of green buttons? 如何保持绿色按钮的计数器? For that you need to declare a variable, eg var count = 0; 为此你需要声明一个变量,例如var count = 0; , then whenever a button turns green increase the counter, whenever reset is clicked, reset the count too. ,然后每当按钮变为绿色时,增加计数器,每当点击重置时,也重置计数。 Then if the counter reached a certain count, do what you want to do: 然后,如果计数器达到某个计数,请执行您想要执行的操作:

  var count = 0;

  $("i").click(function() {
    $(this).css("color", "#5c8c44");
    $(this).parent().css("font-weight", "bold");

    count += 1;
    if(count > 5) { /*...*/ }
  });

  //...

try here: https://jsfiddle.net/3c0uskLy/ https://jsfiddle.net/83jcvaLr/ 试试这里: https//jsfiddle.net/3c0uskLy/ https://jsfiddle.net/83jcvaLr/

 $(document).ready(function() { $("i").click(function() { $(this).css("color", "#5c8c44").addClass("grencolor") $(this).parent().css("font-weight", "bold"); ChkList = $(".grencolor").length; $("#count1").text("").append("you've marked (" + ChkList + ")/10 boxs"); if ($("li").length == ChkList) { $("#count").text("").append("you've got everything!") } else { $("#count").text("").append(" you don't have all the items") } }); $("#reset").click(function() { $("#count").text("").append("0") $("i").removeClass("grencolor") $("i").css("color", "red"); $("li").css("font-weight", "normal"); }); }); 
 ul li { list-style: none; } ul li i { color: red; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css"> <h2>Checklist</h2> <p id=count1></p> <ul> <li><i class="fas fa-check-square"></i> Item 1</li> <li><i class="fas fa-check-square"></i> Item 2</li> <li><i class="fas fa-check-square"></i> Item 3</li> <li><i class="fas fa-check-square"></i> Item 4</li> <li><i class="fas fa-check-square"></i> Item 5</li> <li><i class="fas fa-check-square"></i> Item 6</li> <li><i class="fas fa-check-square"></i> Item 7</li> <li><i class="fas fa-check-square"></i> Item 8</li> <li><i class="fas fa-check-square"></i> Item 9</li> <li><i class="fas fa-check-square"></i> Item 10</li> </ul> <p id=count></p> <button id="reset">Reset checklist</button> <script src="https://code.jquery.com/jquery-3.4.1.js"></script> 

You can count child elements of ul. 你可以计算ul的子元素。 I have modified your code for the desired result. 我已修改您的代码以获得所需的结果。 You can check here . 你可以在这里查看 I have created one function for checking green color class 我创建了一个用于检查绿色类的函数

 $(document).ready(function() { $("i").click(function() { //$(this).css("color", "#5c8c44"); $(this).addClass('green') $(this).parent().css("font-weight", "bold"); check(); }); $("#reset").click(function() { $("i").css("color", "red"); $("li").css("font-weight", "normal"); document.getElementById('output').innerHTML = ''; }); function check() { let ul_li_count = document.getElementById('ul_class').childElementCount; var numItems = $('.green').length; //console.log(numItems); if (numItems == ul_li_count) { let output = `<span> All the checkboxs are Clicked <\\/span>`; document.getElementById('output').innerHTML = output; } } }); 
 ul li { list-style: none; } ul li i { color: red; } .green { color: #5c8c44 } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <link href="https://use.fontawesome.com/releases/v5.8.2/css/all.css" rel="stylesheet"> <h2>Checklist</h2> <ul id="ul_class"> <li><i class="fas fa-check-square"></i> Item 1</li> <li><i class="fas fa-check-square"></i> Item 2</li> <li><i class="fas fa-check-square"></i> Item 3</li> <li><i class="fas fa-check-square"></i> Item 4</li> <li><i class="fas fa-check-square"></i> Item 5</li> <li><i class="fas fa-check-square"></i> Item 6</li> <li><i class="fas fa-check-square"></i> Item 7</li> <li><i class="fas fa-check-square"></i> Item 8</li> <li><i class="fas fa-check-square"></i> Item 9</li> <li><i class="fas fa-check-square"></i> Item 10</li> </ul> <div id="output"></div><button id="reset">Reset checklist</button> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM