HTML:
<div class="form-checkboxes" id="edit-field-vozrast-value"><div class="form-item form-type-checkbox form-item-field-vozrast-value-1">
<input type="checkbox" class="form-checkbox" value="1" name="field_vozrast_value[1]" id="edit-field-vozrast-value-1">
<label for="edit-field-vozrast-value-1" class="option">0-3 </label>
</div>
<div class="form-item form-type-checkbox form-item-field-vozrast-value-2">
<input type="checkbox" class="form-checkbox" value="2" name="field_vozrast_value[2]" id="edit-field-vozrast-value-2">
<label for="edit-field-vozrast-value-2" class="option">3-7 </label>
</div>
<div class="form-item form-type-checkbox form-item-field-vozrast-value-3">
<input type="checkbox" class="form-checkbox" value="3" name="field_vozrast_value[3]" id="edit-field-vozrast-value-3">
<label for="edit-field-vozrast-value-3" class="option">7+ </label>
</div>
</div>
JS:
var $age = $('#edit-field-vozrast-value .form-type-checkbox label');
var $vinput = $('#edit-field-vozrast-value .form-type-checkbox input');
$age.on('click', function() {
if ($(this).parent().find('input').is(':checked') != true) {
$(this).addClass('highlight');
} else {
$(this).removeClass('highlight');
}
});
if ($vinput.is(':checked')) {
$age.addClass('highlight'); // this adds class highlight to all checkboxes
}
此代码的逻辑如下:当复选框具有选中的值时 - 将类高亮度添加到其标签中。但问题是,当复选框具有选中的值时,它会添加“突出显示”#39;对所有复选框进行分类,即使它们没有检查值。那么在这种情况下如何使用$(this)
这样的东西呢?
更新信息。当我点击一个复选框时 - 我的页面重新加载并且&#34;突出显示&#34; class dissapears,这就是为什么我需要使用最新的if / else语句将这个类再次应用到一个带有&#34;复选框的复选框&#34;言。
答案 0 :(得分:1)
#edit-field-vozrast-value .form-type-checkbox input[type=checkbox]:checked + label {
/* my styles here */
}
这是一招,谢谢大家!