簡體   English   中英

如何檢查是否在Javascript中選中了復選框

[英]How to check if checkbox is checked in Javascript

我需要制作5個復選框,它們都有一個值,從1到5,我需要在文本框中打印出我檢查時的值,我可以取消選中復選框,數字會消失..我的問題在於取消選中部分,我似乎無法找到一種方法來取消文本框中的值,如果它未經檢查..我試過

if( aInput[0].checked == false){

    aTxt[0].value = aInput[0].value;

}

但它不起作用

根據MDN ,獲取復選框的value屬性的結果將始終是字符串“on”或您在其他地方指定的其他值。 選中或取消選中此框時,它不會更改

因此,文本框的值將始終設置為相同的值。

你自己看:

 checkbox = document.getElementById("checkbox"); checkbox.addEventListener('change', function(e) { console.log(checkbox.checked, checkbox.value); }); 
 <input id="checkbox" type="checkbox"> 

您需要修改代碼,例如:

if (aInput[0].checked) {
    aTxt[0].value = aInput[0].value;
} else {
    aTxt[0].value = ''; // define a value
}

如果未選中,請將文本框設置為空字符串:

for (var i = 0; i < aInput.length; i++) {
    if (aInput[i].checked) {
        aTxt[i] = aInput[i].value;
    } else {
        aTxt[i] = '';
    }
}

嘗試這個:

for(var i = 0; i < aInput.length; i++)
   if(!aInput[i].checked){
      aTxt[i].value = '';
   }
}

如果未checked ,上面的code將基本上將該特定textbox的值設置為空string

只需將文本框的值設置為零或為空即可

if( aInput[0].checked == false){

aTxt[0].value = "";

 }

 $('input[type="checkbox"]').on("click", DoSomething); function DoSomething(){ if($(this).prop('checked') == true){ document.getElementById('text').innerHTML+=$(this).val(); } else{ var text = document.getElementById('text').innerHTML; text= text.replace($(this).val(),''); document.getElementById('text').innerHTML = text; } } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <form> <input type="checkbox" name="help_text" value="1" /> <input type="checkbox" name="help_text" value="2" /> <input type="checkbox" name="help_text" value="3" /> <input type="checkbox" name="help_text" value="4" /> <input type="checkbox" name="help_text" value="5" /> </form> <div id="text"></div> 

我確實使用過jquery,但你也可以用純js編寫它

問題是我需要能夠一次顯示所有數字,例如:1,2,3,4,5或1,3,5或1,2,5等。

暫無
暫無

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

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