[英]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.