I have these dynamic checkboxes each with ID + number +1. Could anyone tell me how to make this code shorter? Probably nothing difficult, but I just started with jquery and javascript, so it’s a bit complicated for me 🙁
if(!$('#g:checked').length){
$("#h").val("No");
} else {
$("#h").val("Yes");
}
if(!$('#g2:checked').length){
$("#h2").val("No");
} else {
$("#h2").val("Yes");
}
if(!$('#g3:checked').length){
$("#h3").val("No");
} else {
$("#h3").val("Yes");
}
if(!$('#g4:checked').length){
$("#h4").val("No");
} else {
$("#h4").val("Yes");
}
if(!$('#g5:checked').length){
$("#h5").val("No");
} else {
$("#h5").val("Yes");
}
if(!$('#g6:checked').length){
$("#h6").val("No");
} else {
$("#h6").val("Yes");
}
if(!$('#g7:checked').length){
$("#h7").val("No");
} else {
$("#h7").val("Yes");
}
if(!$('#g8:checked').length){
$("#h8").val("No");
} else {
$("#h8").val("Yes");
}
if(!$('#g9:checked').length){
$("#h9").val("No");
} else {
$("#h9").val("Yes");
}
if(!$('#g10:checked').length){
$("#h10").val("No");
} else {
$("#h10").val("Yes");
}
You can use a simple loop, eg.
And the tertiary operator makes the logic a little more compact as well.
You should rename your ‘h’ and ‘g’ element ids to ‘h1’ and ‘g1’ for consistency.