使用jQuery UI Selectable实现多个选择

时间:2010-12-09 07:56:44

标签: jquery-ui jquery-ui-selectable

任何人都可以帮我使用jquery ui selectable库来执行以下功能:

  • 允许用户通过鼠标单击选择多个项目
  • 如果已经通过鼠标单击选择了项目,则取消选择项目

5 个答案:

答案 0 :(得分:53)

这可以在another question中解决,但是我会在这里通过谷歌发现这个。如果在jQuery中绑定“mousedown”事件并在那里设置metaKey(就好像用户持有ctrl / cmd键),那么当你调用selectable时,它已经被设置了。

$(".YOUR_SELECTOR_HERE").bind("mousedown", function(e) {
  e.metaKey = true;
}).selectable();

答案 1 :(得分:2)

不使用Selectable,但这样可以通过您已有的设置获得所需的行为:

而不是

$( "#selectable" ).selectable()

$(".ui-widget-content").click( function() {
    $(this).toggleClass("ui-selected");
});

答案 2 :(得分:0)

您检查了demo page for selectable吗?你已经可以这样做了。要选择多个项目,只需按住控件即可。这类似于处理文件的方式。使用“Ctrl + Click”还不够好吗?

演示代码:

<style>
    #feedback { font-size: 1.4em; }
    #selectable .ui-selecting { background: #FECA40; }
    #selectable .ui-selected { background: #F39814; color: white; }
    #selectable { list-style-type: none; margin: 0; padding: 0; width: 60%; }
    #selectable li { margin: 3px; padding: 0.4em; font-size: 1.4em; height: 18px; }
    </style>
    <script>
    $(function() {
        $( "#selectable" ).selectable();
    });
    </script>

<div class="demo">

<ol id="selectable">
    <li class="ui-widget-content">Item 1</li>
    <li class="ui-widget-content">Item 2</li>
    <li class="ui-widget-content">Item 3</li>
    <li class="ui-widget-content">Item 4</li>
    <li class="ui-widget-content">Item 5</li>
    <li class="ui-widget-content">Item 6</li>
    <li class="ui-widget-content">Item 7</li>
</ol>

</div>

答案 3 :(得分:0)

看看我在这个帖子上的答案。

jQuery UI selectable - making multiple select default

它包括可选择的ui js的完整代码替换以及概述所需的更改,使其成为可以传递的选项。

答案 4 :(得分:0)

使用此代码可能会帮助您

  $('#selectable').bind("mousedown", function (e) {
      e.metaKey = true;    
 }).selectable('filter : td')​

如果您使用表格中的selectable来表示td的使用可选('filter:td')其他

使用selectable()