我试图在按钮点击时操纵一系列复选框,但我似乎无法弄清楚如何做到这一点。我需要实现以下行动:
选中所有复选框
选中复选框1-12
选择奇数复选框
选择偶数复选框
清除复选框
控制滑块范围以选择周
同时更新复选框。
这是我的jsFiddle:http://jsfiddle.net/dYsg7/
最初我使用以下代码来满足第1-5点,但是当我更改了我的复选框的布局时,我无法弄清楚如何将它实现到我的新设计中:
$('#week_none').click(function () {
$('#week_boxesForm li').each(function (index) {
$(this).find('input:checkbox').prop("checked", false);
});
});
$('#week_all').click(function () {
$('#week_boxesForm li').each(function (index) {
$(this).find('input:checkbox').prop("checked", true);
});
});
$('#week_term').click(function () {
$('#week_boxesForm li').each(function (index) {
if (index < 12) $(this).find('input:checkbox').prop("checked", true);
else $(this).find('input:checkbox').prop("checked", false);
});
});
$('#week_odd').click(function () {
$('#week_boxesForm li').each(function (index) {
if (index % 2 === 0) $(this).find('input:checkbox').prop("checked", true);
else $(this).find('input:checkbox').prop("checked", false);
});
});
$('#week_even').click(function () {
$('#week_boxesForm li').each(function (index) {
if (index % 2 !== 0) $(this).find('input:checkbox').prop("checked", true);
else $(this).find('input:checkbox').prop("checked", false);
});
});
答案 0 :(得分:2)
以下是点1 - 6:
的方法<强>的Javascript 强>
$(".slider_weekRange2").slider({
range: true,
min: 1,
max: 15,
step: 1,
values: [1, 12],
slide: function (event, ui) {
$(".search_weekRange2").val(ui.values[0] + "-" + ui.values[1]);
$('input:checkbox[name="weeks_1"]').prop("checked", false);
$('input:checkbox[name="weeks_1"]').slice(ui.values[0] - 1, ui.values[1]).prop("checked", true);
}
});
$(".search_weekRange2").val($(".slider_weekRange2").slider("values", 0) +
"-" + $(".slider_weekRange2").slider("values", 1));
$('.week_none').on('click', function () {
$('input:checkbox[name="weeks_1"]').prop("checked", false);
});
$('.week_all').on('click', function () {
$('input:checkbox[name="weeks_1"]').prop("checked", true);
});
$('.week_term').on('click', function () {
$('input:checkbox[name="weeks_1"]').prop("checked", false);
$('input:checkbox[name="weeks_1"]').slice(0, 12).prop("checked", true);
});
$('.week_odd').on('click', function () {
$('input:checkbox[name="weeks_1"]').prop("checked", false);
$('input:checkbox[name="weeks_1"]:even').prop("checked", true);
});
$('.week_even').on('click', function () {
$('input:checkbox[name="weeks_1"]').prop("checked", false);
$('input:checkbox[name="weeks_1"]:odd').prop("checked", true);
});
<强> Demo 强>