簡體   English   中英

如果我選中復選框,如何啟用復選框中的輸入? 因為當我選中輸入類型的復選框時,它總是禁用

[英]How to enable the input in checkbox if i check the checkbox? cuz it always disable when i check the checkbox with input type

如果我選中復選框,如何啟用復選框中的輸入?

當我選中帶有輸入類型的復選框時,它總是禁用。

 function ckChange(ckType) { var ckName = document.getElementsByName(ckType.name); var checked = document.getElementById(ckType.id); if (checked.checked) { for (var i = 0; i < ckName.length; i++) { if (!ckName[i].checked) { ckName[i].disabled = true; } else { ckName[i].disabled = false; } } } else { for (var i = 0; i < ckName.length; i++) { ckName[i].disabled = false; } } } 
 <input type="checkbox" placeholder="toBeReturn" name="progress" id="progress1" value="1" tabIndex="1" onClick="ckChange(this)"> For use in showroom to be return on <input type="date" name="progress" id="progress3" placeholder="date"> <br/> <input type="checkbox" placeholder="OnLoan" name="progress" id="progress2" value="1" tabIndex="1" onClick="ckChange(this)"> On Loan <br/> <input type="checkbox" placeholder="Other" name="progress" id="progress6" value="1" tabIndex="1" onClick="ckChange(this)"> Other <input type="text" name="progress" id="progress3" placeholder="State the Purpose"> 

我需要幫助來完成我的項目,謝謝!

只需切換“ if”和“ else”語句中的內容,就可以實現相反的效果。

另外,如果您在未選中復選框的情況下加載頁面,則還應在文本輸入中添加“已禁用”,以使其匹配。

 function ckChange(ckType) { var ckName = document.getElementsByName(ckType.name); var checked = document.getElementById(ckType.id); if (checked.checked) { for (var i = 0; i < ckName.length; i++) { ckName[i].disabled = false; } } else { for (var i = 0; i < ckName.length; i++) { if (!ckName[i].checked) { ckName[i].disabled = true; } else { ckName[i].disabled = false; } } } } 
 <th> <input type="checkbox" placeholder="toBeReturn" name="progress" id="progress3" value="1" tabIndex="1" onClick="ckChange(this)"> For use in showroom to be return on <input type="date" name="progress" id="progress3" placeholder="date" disabled> </th> 

我認為問題在於您的“ for”語句,“ for”語句匹配所有復選框,包括您從那時開始就需要排除的復選框,因此您可以這樣嘗試:

function ckChange(ckType) {
        var ckName = document.getElementsByName(ckType.name);
        var checked = document.getElementById(ckType.id);

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM