jQuery UI多项选择

时间:2009-05-25 23:31:43

标签: javascript jquery html jquery-ui

从jquery ui查看this demo 你必须按住Ctrl键进行多项选择 我非常喜欢这些代码,但我不想强迫访问者按下ctrl键 我希望代码允许多个选择,而无需按住ctrl键

这可能吗?

2 个答案:

答案 0 :(得分:5)

我在评论中问你一些问题,但我会写一个简单的选择解决方案,这样你就可以看到我在想什么。

所以基本上你可以使用jquery toggle()效果来滚动你自己的选择器。当用户点击您将添加橙色类时,再次点击它将删除橙色类。

$(document).ready( function() {
    $('ul#selectable li').toggle( function() {
        $(this).addClass('orange'); }, function() {
        $(this).removeClass('orange'); } );
});

然后你所有的工作就是用橘子类抓住所有的li元素并将它们发布到一个表格或任何你的最终目标。没有检查过这段代码,但你在做什么是要求selectable中所有li元素在class属性末尾都有橙色值。

使用下面的代码,我正在创建一个新数组,然后将每个“orange li”的text()值添加到其中。

var theSelections = new Array();

$('ul#selectable li[class$="orange"]').each( function(i) {
    theSelections[i] = $(this).text();
});

答案 1 :(得分:-1)

是。但是,实现必须允许在第二次单击时取消选择所选项目。您只需稍微修改代码即可实现此目的。

对所有项目执行.selectable('Enable')。

然后你需要在点击所有项目时进行.selectable('toggle')。

这应该可以解决问题。