如何使用Jquery UI可选择查找所选元素

kev*_*ler 15 javascript jquery jquery-ui jquery-plugins

我正在寻找关于事件和ui对象的jQuery可选事件的信息:"选择"和"开始"作为参数.我在文档中找不到这个并且通过属性循环没有帮助.

$('#content_td_account').selectable({
    filter: 'li:not(".non_draggable")',
    selecting: function(event, ui) { 
    }
});
Run Code Online (Sandbox Code Playgroud)

具体来说,我想找到正在选择的元素并检查它们以查看它们的父元素是否相同.我假设这将在ui对象的某些地方.

And*_*ell 12

选择元素后,它会ui-selected添加类.

所以你可以得到所有选中的元素 $(".ui-selected")

这可能不完全正常,但我认为这个想法是这样的:

$('#content_td_account').selectable({
  filter: 'li:not(".non_draggable")',
  selecting: function(event, ui) { 
    var p = $(this).parent();
    $(".ui-selected").each(obj, function() {
      if(obj.parent() == p) {
        // get rad
      }
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

  • 有没有办法使用"ui"参数来获取当前选择?当使用stop:funtion(event,ui){}在selectable中,ui参数似乎总是未定义的... (3认同)
  • @nima我认为差不多2.5年前的情况并非如此.发表回答. (3认同)
  • -1这不是一个好方法.你应该使用$(ui.selected) (2认同)

小智 11

您必须使用为组选择中的每个选定项触发的选定和未选定事件.

var selected = new Array();
$("#selectable").selectable({
    selected: function(event, ui){            
        selected.push(ui.selected.id);
    },
    unselected: function(event, ui){
        //ui.unselected.id
    }
});
Run Code Online (Sandbox Code Playgroud)