체크 박스가있는 모든 입력 및 체크 박스를 활성화 / 비활성화합니다.

콜럼버스

많은 텍스트 입력 필드와 확인란이있는 양식이 있습니다. 확인란을 선택할 때마다 모든 텍스트 입력 필드와 다른 모든 확인란 (선택한 항목 제외)을 비활성화해야합니다. 이 확인란의 선택을 취소하면 비활성화 된 모든 필드를 다시 활성화해야합니다. 이것은 다음 코드에서 작동합니다 (처음 3 줄만 표시됨).

<form id="myForm">

    Checkbox 1: <input type="checkbox" name="checkbox1" id="checkboxOne" onclick="enableDisableAll();" />
    <input type="text" id="id1" name="name1" /><br>

    Checkbox 2: <input type="checkbox" name="checkbox2" id="checkboxTwo" onclick="enableDisableAll();" />
    <input type="text" id="id2" name="name2" /><br>

    Checkbox 3: <input type="checkbox" name="checkbox3" id="checkboxThree" onclick="enableDisableAll();" />
    <input type="text" id="id3" name="name3" /><br>

</form>


function enableDisableAll() {

    cb1 = document.getElementById('checkboxOne').checked;
    cb2 = document.getElementById('checkboxTwo').checked;
    cb3 = document.getElementById('checkboxThree').checked;


    document.getElementById('checkboxOne').disabled = (cb2 || cb3);
    document.getElementById('id1').disabled = (cb1 || cb2 || cb3);

    document.getElementById('checkboxTwo').disabled = (cb1 || cb3);
    document.getElementById('id2').disabled = (cb1 || cb2 || cb3);

    document.getElementById('checkboxThree').disabled = (cb1 || cb2);
    document.getElementById('id3').disabled = (cb1 || cb2 || cb3);

}

코드가 많은 확인란 (cb1 || cb2 || cb3 || ....... cb (n))과 혼동되기 때문에 더 우아한 가능성이 있는지 궁금합니다. 예 :

function enableDisableAll () {

cb1 = document.getElementById('checkboxOne').checked;
cb2 = document.getElementById('checkboxTwo').checked;
cb3 = document.getElementById('checkboxThree').checked;

var cb_array = [];

cb_array.push("cb1");
cb_array.push("cb2");

var cb_array_imploded = cb_array.join(" || ");

document.getElementById('id1').disabled = (cb_array_imploded);

불행히도 이것은 작동하지 않습니다.

누구든지 내 문제에 대한 간단한 해결책이 있습니까?

Dinesh 정의되지 않음

모든 양식 요소를 선택하고 클릭 한 요소 ID와 동일한 ID를 반복하고 확인합니다.

function enableDisableAll(e) {
        var own = e;
        var form = document.getElementById("myForm");
        var elements = form.elements;

    for (var i = 0 ; i < elements.length ; i++) {
          if(own !== elements[i] ){
          
            if(own.checked == true){
              
              elements[i].disabled = true;  
             
            }else{
            
              elements[i].disabled = false;  
            }
          
           }

     }
    
}

function clearAll(){
 document.getElementById("myForm").reset();
}
<form id="myForm">

    Checkbox 1: <input type="checkbox" name="checkbox1" id="checkboxOne" onclick="enableDisableAll(this);" />
    <input type="text" id="id1" name="name1" /><br>

    Checkbox 2: <input type="checkbox" name="checkbox2" id="checkboxTwo" onclick="enableDisableAll(this);" />
    <input type="text" id="id2" name="name2" /><br>

    Checkbox 3: <input type="checkbox" name="checkbox3" id="checkboxThree" onclick="enableDisableAll(this);" />
    <input type="text" id="id3" name="name3" /><br>
 
   

</form>

<input class="field button2" type="button" value="Clear form" size="10" onclick="clearAll(this);">

업데이트 : 모든 양식 필드를 지우려면

document.getElementById("myForm").reset();

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

체크 박스 버튼을 클릭하면 모든 입력 유형 값을 비활성화합니다.

분류에서Dev

체크 박스 체크 / 체크 해제시 입력 비활성화

분류에서Dev

Flutter에서 체크 박스-> 체크 박스를 비활성화하고 체크 박스 체크에서 텍스트 필드를 활성화해야합니다.

분류에서Dev

다른 체크 박스 비활성화

분류에서Dev

Vuetify datatable 체크 박스가 비활성화 된 모두 선택

분류에서Dev

페이지로드시 체크 박스 상태를 확인하고 체크 된 경우 가장 가까운 입력을 비활성화합니다.

분류에서Dev

페이지로드시 체크 박스 상태를 확인하고 체크 된 경우 가장 가까운 입력을 비활성화합니다.

분류에서Dev

체크 박스가있는 Jquery 활성화 / 비활성화 양식

분류에서Dev

fx 뒤에 체크 박스를 비활성화합니다. 5 개의 체크 박스

분류에서Dev

비활성화 된 체크 박스를 제외한 모든 체크 박스를 어떻게 확인할 수 있나요?

분류에서Dev

JQuery를 사용하여 체크 박스 버튼 클릭시 버튼 활성화 및 비활성화 방법

분류에서Dev

jQuery의 체크 박스 이벤트에서 버튼을 활성화 및 비활성화하는 방법은 무엇입니까?

분류에서Dev

체크 박스 후 div를 비활성화하는 방법

분류에서Dev

Ruby on Rails 체크 박스 (div를 클릭하면 체크 박스 활성화)

분류에서Dev

React에서 이름으로 체크 박스 비활성화 및 선택 해제

분류에서Dev

리피터, 데이터 테이블 및 체크 박스 활성화 / 비활성화

분류에서Dev

Redux Form-기본값이있는 체크 박스 및 비활성화되도록 설정

분류에서Dev

체크 박스가 체크되어있을 때 버튼 활성화

분류에서Dev

체크 박스를 클릭했을 때 div를 비활성화하는 방법

분류에서Dev

Javascript를 사용하여 체크 박스 배열 비활성화 또는 활성화

분류에서Dev

머티리얼 UI 비활성화 체크 박스 호버

분류에서Dev

비활성화 된 체크 박스의 값 게시

분류에서Dev

HTML JSF inputText 비활성화 (체크 박스 포함)

분류에서Dev

alertDialog에서 체크 박스 항목 비활성화

분류에서Dev

마지막 체크 박스 비활성화 객관식 필요

분류에서Dev

자바 스크립트를 사용하여 입력 필드 활성화 및 비활성화

분류에서Dev

샌드 박스 모드 (Fortumo)에서는 위젯 대체가 비활성화됩니다.

분류에서Dev

데이터 테이블 AngularJS의 체크 박스에서 버튼을 비활성화 / 활성화하는 방법은 무엇입니까?

분류에서Dev

링크에서 체크 박스 활성화

Related 관련 기사

  1. 1

    체크 박스 버튼을 클릭하면 모든 입력 유형 값을 비활성화합니다.

  2. 2

    체크 박스 체크 / 체크 해제시 입력 비활성화

  3. 3

    Flutter에서 체크 박스-> 체크 박스를 비활성화하고 체크 박스 체크에서 텍스트 필드를 활성화해야합니다.

  4. 4

    다른 체크 박스 비활성화

  5. 5

    Vuetify datatable 체크 박스가 비활성화 된 모두 선택

  6. 6

    페이지로드시 체크 박스 상태를 확인하고 체크 된 경우 가장 가까운 입력을 비활성화합니다.

  7. 7

    페이지로드시 체크 박스 상태를 확인하고 체크 된 경우 가장 가까운 입력을 비활성화합니다.

  8. 8

    체크 박스가있는 Jquery 활성화 / 비활성화 양식

  9. 9

    fx 뒤에 체크 박스를 비활성화합니다. 5 개의 체크 박스

  10. 10

    비활성화 된 체크 박스를 제외한 모든 체크 박스를 어떻게 확인할 수 있나요?

  11. 11

    JQuery를 사용하여 체크 박스 버튼 클릭시 버튼 활성화 및 비활성화 방법

  12. 12

    jQuery의 체크 박스 이벤트에서 버튼을 활성화 및 비활성화하는 방법은 무엇입니까?

  13. 13

    체크 박스 후 div를 비활성화하는 방법

  14. 14

    Ruby on Rails 체크 박스 (div를 클릭하면 체크 박스 활성화)

  15. 15

    React에서 이름으로 체크 박스 비활성화 및 선택 해제

  16. 16

    리피터, 데이터 테이블 및 체크 박스 활성화 / 비활성화

  17. 17

    Redux Form-기본값이있는 체크 박스 및 비활성화되도록 설정

  18. 18

    체크 박스가 체크되어있을 때 버튼 활성화

  19. 19

    체크 박스를 클릭했을 때 div를 비활성화하는 방법

  20. 20

    Javascript를 사용하여 체크 박스 배열 비활성화 또는 활성화

  21. 21

    머티리얼 UI 비활성화 체크 박스 호버

  22. 22

    비활성화 된 체크 박스의 값 게시

  23. 23

    HTML JSF inputText 비활성화 (체크 박스 포함)

  24. 24

    alertDialog에서 체크 박스 항목 비활성화

  25. 25

    마지막 체크 박스 비활성화 객관식 필요

  26. 26

    자바 스크립트를 사용하여 입력 필드 활성화 및 비활성화

  27. 27

    샌드 박스 모드 (Fortumo)에서는 위젯 대체가 비활성화됩니다.

  28. 28

    데이터 테이블 AngularJS의 체크 박스에서 버튼을 비활성화 / 활성화하는 방법은 무엇입니까?

  29. 29

    링크에서 체크 박스 활성화

뜨겁다태그

보관