javascript - jQuery UI 选择——帮助解决低效问题

标签 javascript jquery jquery-ui performance

我有一个日历,用户应该能够选择日期(它们基本上是表格单元格)。问题是 jQuery UI 对选择的支持有点粗略。特别是,如果用户使用 CTRL 键选择或取消选择日期,我似乎无法在选择“停止”事件时很容易地获得所选元素的完整列表。这是我目前正在做的,但似乎效率很低:

global.selected = [];


$('#calendar').selectable({filter: 'td',

selected: function(event, ui)
    {
    for (var a = 0, id = +ui.selected.children[0].id, found = false; a < global.selected.length; a++)
        {
        if (global.selected[a] == id)
            {
            found = true;
            break;
            }
        }
    !found && global.selected.push(id);
    },

unselected: function(event, ui)
    {
    for (var a = 0, id = +ui.unselected.children[0].id; a < global.selected.length; a++)
        {
        if (global.selected[a] == id)
            {
            global.selected.splice(a, 1);
            break;
            }
        }
    },

stop: function(event, ui)
    {
    console.log(global.selected);
    }
}

最佳答案

我是 jQuery 的新手,但我会以这种方式处理它并避免全局。

$('#calendar').selectable({
    filter: 'td',
    stop: function(event, ui) {
        var selected = $.map($('#calendar > tbody > tr > td.ui-selected'),function(el) {
            return el.id;
        });
        console.log(selected);
    }
});

关于javascript - jQuery UI 选择——帮助解决低效问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4641142/

相关文章:

javascript - 如何在文本框中插入值以选择选项

javascript - jquery slider 未捕获类型错误: undefined is not a function

javascript - 开 Jest 比较对象。字符串

javascript - jQuery .submit() .ajax() 必须单击发送按钮两次才能获得正确的响应

javascript - 日期年份显示不正确

jquery - HTML/Bootstrap 选项卡

javascript - jQuery Ajax 用于 btn-group bootstrap 的每个函数

css - 覆盖孙元素的父 .resizable 属性,也许使用 css?

javascript - AngularJS : changing a model in a $watch function

javascript - 如何滚动焦点具有相同类名或相同属性的特定 div