我有一个input
,要在检查时获取其值。它的值中有一个单引号。
当我运行JS时,我在控制台中收到此错误:
未捕获的错误:语法错误,无法识别的表达式:.Oiseaux d'eau“
$('.group_oiseau').on('change', function() {
/*var group_oiseau = $('input[type=checkbox][name=group_oiseau]:checked').attr('value');*/
$("." + $(this).find('input').val()).each(function() {
if ($(this).hasClass('hidden')) {
$(this).removeClass('hidden');
console.log($(this).hasClass('hidden'));
} else {
$(this).addClass('hidden');
console.log($(this).hasClass('hidden'));
}
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label class="checkbox group_oiseau">
<input type="checkbox" class="grey checkbox" value="Oiseaux d'eau" name="group_oiseau[]" required>
Oiseaux d'eau
<div class="checkbox-cust"></div>
</label>
最佳答案
您可以只使用JQuery查找类型为inputs
的所有checkbox
,然后运行each()
函数。
$('.group_oiseau').on('change', function() {
/*var group_oiseau = $('input[type=checkbox][name=group_oiseau]:checked').attr('value');*/
$.each($('input[type=checkbox]'),function(){
if ($(this).hasClass('hidden')) {
$(this).removeClass('hidden');
console.log($(this).hasClass('hidden'));
} else {
$(this).addClass('hidden');
console.log($(this).hasClass('hidden'));
}
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label class="checkbox group_oiseau">
<input type="checkbox" class="grey checkbox" value="Oiseaux d'eau" name="group_oiseau[]" required>
Oiseaux d'eau
<div class="checkbox-cust"></div>
</label>