我正在尝试计算并计算所选复选框。默认情况下会检查它们。我有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?)
答案 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
类的元素。