Checkbox jQuery操作

时间:2013-03-17 23:33:17

标签: jquery

我试图在按钮点击时操纵一系列复选框,但我似乎无法弄清楚如何做到这一点。我需要实现以下行动:

  1. 选中所有复选框

  2. 选中复选框1-12

  3. 选择奇数复选框

  4. 选择偶数复选框

  5. 清除复选框

  6. 控制滑块范围以选择周

  7. 同时更新复选框。

    这是我的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);
            });
        });
    

1 个答案:

答案 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