0

遇到一个问题,当您在输入中输入内容(输入“spore”然后删除它)后,这些框不会重置为 2x4(而是顶部有 6 个,下面有 2 个)。如果我把盒子分成 4 列,它会起作用,但如果我只是浮动:留在#sortables 上就不行。

这是有效的小提琴(与列):http: //jsfiddle.net/SkQPZ/1

这是不起作用的小提琴(带有浮动):http: //jsfiddle.net/4pBFu/。我想让这个小提琴工作。

下面是我的 jQuery。

    (function ($) {
jQuery.expr[':'].Contains = function (a, i, m) {
    return (a.textContent || a.innerText || "").toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};

function listFilter(gamefilter, list) {
    var form = $("<form>").attr({
        "class": "filterform",
            "action": "#"
    }),
        input = $("<input>").attr({
            "class": "filterinput",
            "type": "text",
            "placeholder": "Filter"

        });

    $(form).append(input).appendTo(gamefilter);
    $(input).change(function () {
        var list = $("#sortable");
        var filter = $(this).val();
        console.log(filter.length);
        if (filter.length > 0) {
            $(list).find("a:not(:Contains(" + filter + "))").parent().slideUp();
            $(".number").hide();
            $(".numberstwo").hide();

        } else {
            console.log($(".number"));
            $(".number").show();
            $(".numberstwo").show();
            $(list).find("a").parent().slideDown();
        }
        return false;
    }).keyup(function () {
        $(this).change();

    });
}
$(function () {
    listFilter($("#gamefilter"), $("#sortable"));

});
}(jQuery));
4

1 回答 1

1

不知道你到底想做什么,所以我用你的“坏”jsfiddle做了这个是你要找的吗?

http://jsfiddle.net/4pBFu/8/

本质上,我在 if 中添加了这个以在删除一些文本后显示符合过滤器的项目。

$(list).find("a:Contains(" + filter + ")").parent().show();
于 2013-10-10T23:20:18.487 回答