选中所选值之间的 Javascript 集复选框
Javascript set checkbox checked between selected values
遵循代码
<select id="choice_option">
<option value="00">Hourly</option>
<option value="15">15 minutes</option>
<option value="30">30 minutes</option>
<option value="45">45 minutes</option>
</select>
<select id="from_time">
<option value="6:00">6:00</option>
<option value="7:00">7:00</option>
<option value="8:00">8:00</option>
...
</select>
<select id="to_time">
<option value="6:00">6:00</option>
<option value="7:00">7:00</option>
<option value="8:00">8:00</option>
...
</select>
<input type="checkbox" value="6:00" class="times" />6:00
<input type="checkbox" value="6:00" class="times" />6:15
<input type="checkbox" value="6:00" class="times" />6:30
<input type="checkbox" value="6:00" class="times" />6:45
<input type="checkbox" value="6:00" class="times" />7:00
<input type="checkbox" value="6:00" class="times" />7:15
<input type="checkbox" value="6:00" class="times" />7:30
<input type="checkbox" value="6:00" class="times" />7:45
...
var choice = document.getElementById('choice_option');
Event.add('choice_option', 'change', function() {
checkTimes(choice);
});
var checkTimes = function(elem) {
var from = document.getElementById('from_time'),
to = document.getElementById('to_time'),
times = document.querySelectorAll('.times'),
len = times.length,
i, t, startTime, stopTime;
for(i = 0; i < len; i++) {
t = times[i].value.slice(-2);
startTime = from.options[from.selectedIndex].value;
stopTime = to.options[to.selectedIndex].value;
if(times[i].checked) {
times[i].checked = false;
}
if(elem.options[elem.selectedIndex].value == t) {
times[i].checked = true;
}
}
}
我想要实现的是将check boxes
设置为在用户选择的小时数"from_time
"和"to_time
"之间检查。
复选框的地步:00, :15, :30
或 45 分钟。但是当复选框应该在选定时间之间时,我陷入了困境。
因此,如果用户选择 15 分钟,从 06:00 到 14:00,我想要每个具有值的checkbox
6:15, 7:15
, 8:15
... 14:15
待检查。
我试图比较"from_time
"和"to_time
",但到目前为止没有运气。
谢谢
为什么不采取更简单的方法...
http://codepen.io/anon/pen/jEBQre
<select id="fromHour">
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select>
<select id="fromMinutes">
<option value="00">00</option>
<option value="15">15</option>
<option value="30">30</option>
<option value="45">45</option>
</select>
<span>to</span>
<select id="toHour">
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
</select>
<select id="toMinutes">
<option value="00">00</option>
<option value="15">15</option>
<option value="30">30</option>
<option value="45">45</option>
</select>
我找到了。我应该做的是这个
而不是
if(elem.options[elem.selectedIndex].value == t) {
times[i].checked = true;
}
我改成了
if(startTime <= times[i].value && stopTime >= times[i].value
&& elem.options[elem.selectedIndex].value == t) {
times[i].checked = true;
}
相关文章:
- Javascript复选框函数:;缺少:在属性id之后"
- 潜水没有在Bootstrap/Javascript复选框菜单中排队
- JavaScript 复选框全选、取消全选、反转选择
- 单击离开时选中的 JavaScript 复选框
- Javascript复选框验证:如果用户没有't选中特定复选框
- Javascript复选框逻辑错误
- Javascript复选框填充输入并将不同的值传递给表单
- 简单的 JavaScript 复选框验证
- JavaScript 复选框表 - 如何添加值并查找最高值
- Ajax JavaScript 复选框更改不起作用
- Javascript 复选框表单验证
- 使用 JavaScript 复选框事件切换 html 的可见性
- JavaScript - 复选框的作用类似于单选按钮
- jQuery / JavaScript 复选框显示多个和单个选择中选中的复选框的数量
- javascript 复选框 - 仅在引导模式确定时取消选中
- 设置 JQuery HTML javascript 复选框工作,但不显示为选中状态
- Javascript复选框已选中触发器问题
- Javascript复选框的问题
- Javascript复选框递增和递减
- Javascript-复选框onclick-+操作