javascript - .selectable() 从不同条件组中进行多项选择

标签 javascript jquery jquery-selectors

我正在尝试找出如何最好地允许在两个不同标准组之间进行多重选择。现在,在我的示例中选择黄色和小元素将返回所有黄色和所有小元素。我希望返回 Yellow 和 Small 的交集。

http://jsfiddle.net/RKxj7/16/

.selectable({selected: function () {
$("#table-content tr").hide();
if ($("#Red").is(".ui-selected")) {
$(".color:contains('Red')").showParent();
}
...
if ($("#Small").is(".ui-selected")) {
$(".size:contains('Small')").showParent();
}

最佳答案

试试这个:- http://jsfiddle.net/adiioo7/RKxj7/19/

JS:-

function toggleSelected() {
    $("#table-content tr").hide();
    var colorSelected = $(".selector .ui-selected").length;
    var sizeSelected = $(".selector2 .ui-selected").length;
    if ((colorSelected > 0 && sizeSelected == 0) || (colorSelected == 0 && sizeSelected > 0)) {
        $(".selector").find(".ui-selected").each(function () {
            $(".color:contains(" + $(this).text() + ")").showParent();
        });

        $(".selector2").find(".ui-selected").each(function () {
            $(".size:contains(" + $(this).text() + ")").showParent();
        });
    } else {
        $(".selector").find(".ui-selected").each(function () {
            var selectedColor = $(".color:contains(" + $(this).text() + ")");

            $(".selector2").find(".ui-selected").each(function () {
                selectedColor.parent().find(".size:contains(" + $(this).text() + ")").showParent();
            });

        });
    }

    if ($(".ui-selected").length == 0) $("#table-content").find("tr").show();
}
$(document).ready(function () {
    $.fn.showParent = function () {
        $(this).parent().show();
    };

    $(".selector, .selector2").bind("mousedown", function (e) {
        e.metaKey = true;
    }).selectable({
        selected: toggleSelected,
        unselected: toggleSelected
    });

});

关于javascript - .selectable() 从不同条件组中进行多项选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19557003/

相关文章:

javascript - 当用户在内部制作 "mouseon"时代码悬停外部 html 元素?

javascript - jQuery Custom Accordion - 关闭当前打开的部分

javascript - 检查 one.js 的 functionA 是否存在于 two.js

javascript - Kendo Scheduler,以编程方式设置值而不更新 dataModel

javascript - 使用 jquery 隐藏和显示元素

javascript - 单击一组 anchor 元素时切换图像

Javascript 旋转动画

javascript - 获取同一类的所有元素并通过 jquery 检测其中的第一个元素

javascript - 从列表中选择项目,根据索引排除多个项目

javascript - 使用 jQuery 将提交选择放入变量中