我有一個簡單但我卻不會的小問題
<input type="checkbox" id="NameCheckbox">
<label for="NameCheckbox">Name:</label>
<input type="text" id="inputName" style="width: 350px;">
上面寫了一個checkbox的表單
if(document.getElementById('NameCheckbox').checked){
var name = $("#inputName").val();
}
init(name);
然後做了上面的判斷,等資料送出後Id inputName的執會被我歸零(如下)
if(document.getElementById('NameCheckbox').checked){
$("#inputName").val("");
}
但我不知道要怎麼利用javascript or jquery讓checkbox取消勾選,有人能幫我解答嗎?
jquery這樣用就可以。
$('#NameCheckbox').prop('checked', false);
// 這樣也可以判斷有沒有選取
var isCheck = $('#NameCheckbox').prop('checked');
$("input[id=NameCheckbox]").prop("checked", false);
若有多個相同的Checkbox id,也可使用以下方式,一次全部取消勾選
$("input[id=NameCheckbox]").each(function() {
$(this).prop("checked", false);
});
可是如果Id都不同就要用
$('#NameCheckbox').prop('checked', false);
的方式一行一行判斷,無法一次取消對吧??
如果Id有規則性的話,還是可以一次處理.
<input id="CheckboxName1" type="checkbox" value="1"> 1
<input id="CheckboxName2" type="checkbox" value="2"> 2
<input id="CheckboxName3" type="checkbox" value="3"> 3
<input id="CheckboxName4" type="checkbox" value="4"> 4
<input id="CheckboxName5" type="checkbox" value="5"> 5
$("input[id^=CheckboxName]").each(function() {
$(this).prop("checked", false);
});
可以用範圍限制去取這些checkbox,例如:
<div class="block">
<input id="CheckboxName1" type="checkbox" value="1">
<input id="CheckboxName2" type="checkbox" value="2">
<input id="CheckboxName3" type="checkbox" value="3">
<input id="CheckboxName4" type="checkbox" value="4">
<input id="CheckboxName5" type="checkbox" value="5">
</div>
<script>
$(document).ready(function(e) {
$('input[type="checkbox"]', '.block').each(function(i, v) {
$(v).prop('checked', false);
});
});
</script>
原來如此,多謝 allenlwh 及 Aka程式狗 指點,但這次寫的ID沒有規則
還是有解決方式的,有問題可以提出來一起討論喔。