使用jQuery

时间:2018-05-08 14:11:51

标签: jquery html

我正在尝试计算并计算所选复选框。默认情况下会检查它们。我有6个复选框,需要在其他字段中显示。基本上,当他们都在一个领域被检查时,我需要显示100%,如果我取消选中一个方框,则显示83.4%等。

我在这个论坛上发现了一些jQuery脚本,但他们都使用class作为jQuery脚本的参考点。问题是我在其他领域有class="flat"

这是我的HTML:

<div class="item form-group">
  <input type="checkbox" name="hobbies[]" id="Uvod" value="1" class="flat" checked /> Uvod
  <br />

  <input type="checkbox" name="hobbies[]" id="Ponuda/Prodajni_Pristup" value="1" class="flat" checked /> Ponuda/Prodajni Pristup
  <br />

  <input type="checkbox" name="hobbies[]" id="Alternaticna_ponuda" value="1" class="flat" checked /> Alternaticna ponuda
  <br />

  <input type="checkbox" name="hobbies[]" id="Profesionalizam" value="1" class="flat" checked /> Profesionalizam
  <br />

  <input type="checkbox" name="hobbies[]" id="Motivacija" value="1" class="flat" checked /> Motivacija
  <br />

  <input type="checkbox" name="hobbies[]" id="Dodatan_kriterij" value="1" class="flat" /> <b>Dodatan kriterij</b>
  <br />            

  <select class="flat" name="Dodatni_kriterij_odabir" value="<?php echo $values['Dodatni_kriterij_odabir']?>">
    <option disabled selected hidden=></option>
    <option>MBB</option>
    <option>Cross-sell</option>
    <option>#N/A</option>
  </select> Dodatni kriterij odabir
  <br />              
</div>

这是我要显示%复选框结果的字段:

<div class="item form-group">
  <label class="control-label col-md-3 col-sm-3 col-xs-12" for="Score">Score <span class="required">*</span>
  </label>
  <div class="col-md-6 col-sm-6 col-xs-12">
    <input type="text" id="Edit_Score" name="Score" value="0" class="form-control col-md-7 col-xs-12">
  </div>
</div>

有没有其他方法来计算复选框但不使用class(可能是输入ID?)

2 个答案:

答案 0 :(得分:1)

您可以选择$('[type=checkbox]')$(':checkbox')的所有复选框。然后,您可以查看.attr('checked')。如果您想要所有针对该特定输入值的输入,可以使用$("input[name='hobbies[]']")

var total = $("input[name='hobbies[]']").length;
var checked = $("input[name='hobbies[]']:checked").length;

var percentage = Math.floor((checked / total) * 100);

答案 1 :(得分:0)

元素可以包含更多类。使用class="flat"进行样式设置,然后为jQuery

添加另一个样式

class="flat"可以变为class="flat counter"并更改您的jQuery以计算counter类的元素。