javascript - jQuery ui 可选择表来选择/取消选择复选框

标签 javascript jquery html user-interface

我正在尝试构建一个表格网格,它代表一周中每一天的每小时 block 。然后我想要做的是使表中的每个单元格都可选择,并在选择该单元格时选中一个复选框,或者如果选择多个单元格,则勾选每个单元格对应的所有复选框。我在这里整理了一个简化版本:http://jsfiddle.net/yxAjx/4/

我确实已经输入了可选代码 -

$(函数() { $( "#selectable").selectable({ 过滤器:“.block” }) });

例如,如果我单击并拖动“星期二”行中的前 2 个单元格,我希望选中相应的复选框。

包含我无法控制的复选框的表格,因为这部分 html 是从我正在使用的软件生成的,但我在示例中复制了它的布局。

我的 Javascript 和 jQuery 知识有限,因此非常感谢任何有关如何实现此目标的指示。

最佳答案

做这样的事情怎么样:

$(function() {
    $( "#selectable" ).selectable({
        filter: ".block",
        selected: function( event, ui ) {
            var row = $(ui.selected).parents('tr').index(),
                col = $(ui.selected).parents('td').index();
            $('#checks').find('tr').eq(row)
                        .children('td').eq(col)
                        .children('input').addClass('checked').prop('checked', true);
            $('#checks input:not(.checked)').prop('checked', false);
        },
        unselected: function( event, ui ) {
            var row = $(ui.unselected).parents('tr').index(),
                col = $(ui.unselected).parents('td').index();
            $('#checks').find('tr').eq(row)
                        .children('td').eq(col)
                        .children('input').removeClass('checked').prop('checked', false);
        }
    });

    $('#checks input').click(function(){
        var row = $(this).parents('tr').index(),
            col = $(this).parents('td').index();
        if($(this).prop('checked')){
             $('#selectable').find('tr').eq(row)
                        .children('td').eq(col)
                        .children('div').addClass('ui-selected');
        }else{
             $('#selectable').find('tr').eq(row)
                        .children('td').eq(col)
                        .children('div').removeClass('ui-selected');
        }
    });
});

演示:http://jsfiddle.net/dirtyd77/yxAjx/9/

关于javascript - jQuery ui 可选择表来选择/取消选择复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15145349/

相关文章:

javascript - HTML "stretched"组件的实际大小

Javascript:更改 div 元素的 ID 并保存值

javascript - 在 div 的图像 slider 中将每个图像居中

javascript - 使用 Javascript 在鼠标悬停时向各个方向平移背景图像

javascript - 将变量从 php 发送到 jquery - 文件上传脚本

javascript - 正则表达式,用于匹配包含一个单词但不包含另一个单词的URL

javascript - 如何使用 jquery 在旧的之上添加更多边距?

javascript - 单击时文本消失,但输入的新文本消失

javascript - 尝试在 DOM 上添加的元素上调用插件时,jQuery 无限递归

jquery - Flexnav 桌面 View