How can I make my JavaScript code more DRY?

Fish

My code looks pretty untidy, because I'm not really used to coding in JavaScript. In PHP, I would use a for loop and dynamic variables, but I can't get dynamic variables to work in JavaScript.

How would you DRY this up?

document.getElementById("colorpicker01").onchange = function()  {myFunction01()};
function myFunction01() {  hexinput01.value = colorpicker01.value;}

document.getElementById("colorpicker02").onchange = function() {myFunction02()};
function myFunction02() {  hexinput02.value = colorpicker02.value;}

document.getElementById("colorpicker03").onchange = function() {myFunction03()};
function myFunction03() {  hexinput03.value = colorpicker03.value;}

document.getElementById("colorpicker04").onchange = function() {myFunction04()};
function myFunction04() {  hexinput04.value = colorpicker04.value;}

document.getElementById("colorpicker05").onchange = function() {myFunction05()};
function myFunction05() {  hexinput05.value = colorpicker05.value;}

document.getElementById("colorpicker06").onchange = function() {myFunction06()};
function myFunction06() {  hexinput06.value = colorpicker06.value;}

document.getElementById("colorpicker07").onchange = function() {myFunction07()};
function myFunction07() {  hexinput07.value = colorpicker07.value;}

document.getElementById("colorpicker08").onchange = function() {myFunction08()};
function myFunction08() {  hexinput08.value = colorpicker08.value;}

document.getElementById("colorpicker09").onchange = function() {myFunction09()};
function myFunction09() {  hexinput09.value = colorpicker09.value;}

document.getElementById("colorpicker10").onchange = function() {myFunction10()};
function myFunction10() {  hexinput10.value = colorpicker10.value;}
Timir

Assuming the myFunction series of functions aren't used elsewhere, you'd do:

var addChangeListener = function(elem, hexInput) {
    elem.onchange = function() {
        hexInput.value = elem.value;
    }
};

const elements = { 'colorpicker01':'hexinput01', 'colorpicker02':'hexinput02', 'colorpicker03':'hexinput03'}

for(elemName in elements) {
    const elem = document.getElementById(elemName);
    const hexInput = document.getElementById(elements[elemName]);
    addChangeListener(elem, hexInput);
}

And if you need to reuse the myFunction functions as well, it's easy enough to define them at runtime too.

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

How can i make these 3 lines of code more DRY

From Dev

How can I refactor my kotlin code and make it more clear

From Dev

How can I refactor these simple functions and make them more DRY?

From Dev

How can I refactor these simple functions and make them more DRY?

From Dev

ValueError: need more than 1 value to unpack, how can I make my code more robust?

From Java

How can I make my javascript code permanent?

From Dev

How can i make my javascript code add the total amount

From Dev

How can i keep my code dry in ajax requests?

From Dev

How can I make this code more elegant?

From Dev

How can I make my Windows API GUI code more object-oriented?

From Dev

How can I make my code more readable and DRYer when working with XML namespaces in Python?

From Dev

android - SQL database, how can I make my code more efficient

From Dev

How can I use an inbuilt function in R to make my code more effective (for loops)?

From Dev

Can I make this method more generic/smaller? (DRY)

From Dev

How can I mprove my code so that it can be more standard?

From Dev

How can I mprove my code so that it can be more standard?

From Dev

How can I make my sort more elegant?

From Dev

How can I make my recursive C program more efficient?

From Dev

How can I make my Rust function more generic & efficient?

From Dev

How can I make my trie more efficient?

From Dev

How can i make my database method more future proof?

From Dev

How can I make my website more efficient?

From Dev

How can I make my IsItAHoliday function more efficient?

From Dev

How can I make my express route more dynamic

From Dev

How can I make my computer use more RAM?

From Dev

How can I make this JavaScript code cleaner?

From Dev

How can I put this DRY code into a for loop?

From Dev

How can I make this code to find a pair with a sum more efficient?

From Dev

How can I refactor / make this code more pythonic?

Related Related

  1. 1

    How can i make these 3 lines of code more DRY

  2. 2

    How can I refactor my kotlin code and make it more clear

  3. 3

    How can I refactor these simple functions and make them more DRY?

  4. 4

    How can I refactor these simple functions and make them more DRY?

  5. 5

    ValueError: need more than 1 value to unpack, how can I make my code more robust?

  6. 6

    How can I make my javascript code permanent?

  7. 7

    How can i make my javascript code add the total amount

  8. 8

    How can i keep my code dry in ajax requests?

  9. 9

    How can I make this code more elegant?

  10. 10

    How can I make my Windows API GUI code more object-oriented?

  11. 11

    How can I make my code more readable and DRYer when working with XML namespaces in Python?

  12. 12

    android - SQL database, how can I make my code more efficient

  13. 13

    How can I use an inbuilt function in R to make my code more effective (for loops)?

  14. 14

    Can I make this method more generic/smaller? (DRY)

  15. 15

    How can I mprove my code so that it can be more standard?

  16. 16

    How can I mprove my code so that it can be more standard?

  17. 17

    How can I make my sort more elegant?

  18. 18

    How can I make my recursive C program more efficient?

  19. 19

    How can I make my Rust function more generic & efficient?

  20. 20

    How can I make my trie more efficient?

  21. 21

    How can i make my database method more future proof?

  22. 22

    How can I make my website more efficient?

  23. 23

    How can I make my IsItAHoliday function more efficient?

  24. 24

    How can I make my express route more dynamic

  25. 25

    How can I make my computer use more RAM?

  26. 26

    How can I make this JavaScript code cleaner?

  27. 27

    How can I put this DRY code into a for loop?

  28. 28

    How can I make this code to find a pair with a sum more efficient?

  29. 29

    How can I refactor / make this code more pythonic?

HotTag

Archive