본문 바로가기
프로그램

jquery 연관된 필드 자동 업데이트

by 다온다올과함께 2024. 12. 7.

 

 

 

jQuery를 사용하여 하나의 입력 필드에 값을 입력하면 연관된 다른 필드가 자동으로 업데이트되도록 구현할 수 있습니다. 이를 위해 input 또는 change 이벤트를 활용할 수 있습니다.

 

 

 

  예제 1: 입력 필드 값을 다른 필드에 자동 복사  

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Auto Update Fields</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <form>
        <label for="field1">Field 1:</label>
        <input type="text" id="field1" placeholder="Type something">
        
        <br><br>

        <label for="field2">Field 2 (Auto-updated):</label>
        <input type="text" id="field2" readonly>
    </form>

    <script>
        // jQuery script for auto-updating field
        $(document).ready(function() {
            $('#field1').on('input', function() {
                const value = $(this).val(); // Get value from field1
                $('#field2').val(value);    // Set value to field2
            });
        });
    </script>
</body>
</html>

 

 

  동작 설명  

  1. HTML 구조:
    • #field1: 사용자가 값을 입력하는 필드.
    • #field2: 자동으로 업데이트될 필드(읽기 전용).
  2. jQuery 코드:
    • $('#field1').on('input', ...): 사용자가 #field1에 입력하는 즉시 이벤트를 실행합니다.
    • $('#field2').val(value): #field2에 #field1의 값을 복사합니다.

 


 

 

 

  예제 2: 값 변환 후 연관 필드 업데이트  

만약 입력값을 변환(예: 대문자로 변경)한 뒤 연관 필드에 반영하고 싶다면 다음과 같이 수정할 수 있습니다.

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Auto Update Fields</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<form>
    <label for="field3">Enter text (Lowercase):</label>
    <input type="text" id="field3" placeholder="Type something">

    <br><br>

    <label for="field4">Uppercase (Auto-updated):</label>
    <input type="text" id="field4" readonly>
</form>

<script>
    $(document).ready(function() {
        $('#field3').on('input', function() {
            const transformedValue = $(this).val().toUpperCase(); // Convert to uppercase
            $('#field4').val(transformedValue); // Set transformed value to field4
        });
    });
</script>
</body>
</html>

 

  동작 설명  

  • 사용자가 #field3에 소문자로 입력하면, #field4에는 입력값이 자동으로 대문자로 변환되어 표시됩니다.

 


 

 

  추가 기능: 여러 연관 필드 업데이트  

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Auto Update Fields</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<form>
    <label for="name">Name:</label>
    <input type="text" id="name" placeholder="Enter name">

    <br><br>

    <label for="greeting">Greeting:</label>
    <input type="text" id="greeting" readonly>

    <br><br>

    <label for="summary">Summary:</label>
    <textarea id="summary" readonly></textarea>
</form>

<script>
    $(document).ready(function() {
        $('#name').on('input', function() {
            const name = $(this).val();
            $('#greeting').val(`Hello, ${name}!`); // Update greeting
            $('#summary').val(`Name entered: ${name}\nGreeting: Hello, ${name}!`); // Update summary
        });
    });
</script>
</body>
</html>

 

  동작 설명  

  1. #name에 이름을 입력하면:
    • #greeting에는 "Hello, [이름]!"가 표시됩니다.
    • #summary에는 입력값 요약이 표시됩니다.

 

위의 예제는 다양한 상황에서 연관된 필드를 동적으로 업데이트하는 방법을 보여줍니다. 원하는 기능에 따라 이벤트(change, input)와 값을 가공하는 로직을 조합하여 응용할 수 있습니다.

 

 

 

 

#jquery #on #input #val #toUpperCase #textarea #연관필드업데이트

반응형

댓글