i have long if statement i'm wanting refactor. statement listens click , updates 1 of 5 text boxes depending on if text boxes have in them or not. how change code more efficient.
$('#img1').click(function() { if ($('#card1').val().length === 0) { $('#card1').val('a feeling of warmth'); } else if ($('#card2').val().length === 0) { $('#card2').val('a feeling of warmth'); } else if ($('#card3').val().length === 0){ $('#card3').val('a feeling of warmth'); } else if ($('#card4').val().length === 0){ $('#card4').val('a feeling of warmth'); } else if ($('#card5').val().length === 0){ $('#card5').val('a feeling of warmth'); } });
you use loop
$('#img1').click(function() { var items = ["#card1", "#card2", "etc"]; for(var i=0;i<items.length;i++){ if ($(items[i]).val().length === 0) { $(items[i]).val('a feeling of warmth'); } } });
it's @ least easier read. if buttons card + number make simplier (not easier read, less lines & maintenance)
$('#img1').click(function() { for(var i=0;i<=5;i++){ if ($("#card" + i).val().length === 0) { $("#card" + i).val('a feeling of warmth'); } } });
Comments
Post a Comment