【发布时间】:2010-12-09 07:56:43
【问题描述】:
谁能帮我使用 jquery ui 可选库来执行以下功能:
- 允许用户通过单击鼠标选择多个项目
- 如果已通过鼠标单击选择项目,则取消选择该项目
【问题讨论】:
标签: jquery-ui jquery-ui-selectable
谁能帮我使用 jquery ui 可选库来执行以下功能:
【问题讨论】:
标签: jquery-ui jquery-ui-selectable
这在another question 中得到了解决,但我在这里为任何通过谷歌找到它的人转发。如果你在 jQuery 中绑定“mousedown”事件并在那里设置 metaKey(就像用户拿着 ctrl/cmd 键一样),那么当你调用 selectable 时,它已经被设置了。
$(".YOUR_SELECTOR_HERE").bind("mousedown", function(e) {
e.metaKey = true;
}).selectable();
【讨论】:
不使用 Selectable 但这将通过您已有的设置获得您想要的行为:
而不是
$( "#selectable" ).selectable()
试试
$(".ui-widget-content").click( function() {
$(this).toggleClass("ui-selected");
});
【讨论】:
你检查过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>
【讨论】:
看看我在这个帖子上的回答。
jQuery UI selectable - making multiple select default
它包括可选 ui js 的完整代码替换以及概述所需的更改,使其成为可以传递的选项。
【讨论】:
使用此代码可能对您没有帮助
$('#selectable').bind("mousedown", function (e) {
e.metaKey = true;
}).selectable('filter : td')
如果你在 td 的表上使用 selectable,则使用 selectable('filter : td')else
使用 selectable()
【讨论】: