工作當我點擊一個複選框,它的變化和綠色。但是,當我選中全天時,所有複選框都會被選中,但顏色不會改變。也檢查整天后,我不檢查所有的時間仍然是整天檢查。我卡住了,這段代碼有什麼問題?在更改事件在jQuery的
$(document).ready(function() {
$('input:checkbox[name="time"]').change(function() {
$('input:checkbox[name="time"]:not(:checked)').parent().removeClass("active");
$('input:checkbox[name="time"]:checked').parent().addClass("active");
});
});
function selectAll(source) {
checkboxes = document.getElementsByName('time');
for (var i in checkboxes)
checkboxes[i].checked = source.checked;
}
.timing {
width: 500px;
}
.timing label {
width: 100px;
display: inline-block;
border: 1px solid #ccc;
padding: 10px;
text-align: center;
cursor: pointer;
}
.timing label input {
display: block;
}
.timing label.active {
background-color: rgba(0, 204, 0, 1);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="timing">
<label for="11:30"><input name="time" class="timess" value="11:30" id="11:30" type="checkbox">11:30</label>
<label for="12:00"><input name="time" class="timess" value="12:00" id="12:00" type="checkbox">12:00</label>
<label for="12:30" class=""><input name="time" class="timess" value="12:30" id="12:30" type="checkbox">12:30</label>
</div>
<label for="selectall"><input type="checkbox" id="selectall" onClick="selectAll(this)" />Full Day</label>
<script>
function selectAll(source) {
checkboxes = document.getElementsByName('time');
for (var i in checkboxes)
checkboxes[i].checked = source.checked;
}
</script>
由於工程... –
我會建議爲加花用於循環的括號。至少糾正第一個代碼片段中的意圖,因爲它現在可以直觀地表明在循環的每次迭代中調用「trigger」。 –