【问题标题】:jQuery UI selection -- help with inefficienciesjQuery UI 选择——帮助解决低效问题
【发布时间】:2011-01-09 19:11:36
【问题描述】:

我有一个日历,用户应该能够选择日期(它们基本上是表格单元格)。问题是 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);
    }
}

【问题讨论】:

    标签: javascript jquery jquery-ui performance


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-14
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多