jQuery-在文本框键盘上过滤<ul>中的复选框

ra_ie_darkness

我在复选框中有一个项目列表,我想在用户在文本框中输入内容时过滤这些项目,仅显示匹配的项目。我试图修改现有的jquery函数以使用复选框,但是当我在文本框中输入一些文本时没有任何反应。我如何使它工作?

<form id="form1" runat="server">
    <div id="someDiv">
        <input type="text" id="searchText" />
        <ul style="list-style-type:none" id="ulVal">
            <li><input type="checkbox" value="Berry" />Berry</li>
            <li><input type="checkbox" value="Apple" />Apple</li>
            <li><input type="checkbox" value="Black" />Black</li>
            <li><input type="checkbox" value="Red" />Red</li>
            <li><input type="checkbox" value="Box" />Box</li>
            <li><input type="checkbox" value="Container" />Container</li>
        </ul>
        <input type="button" id="testButton" value="meHere" />
    </div>
</form>
$("document").ready(function () {
    $("#searchText").on("keyup", function () {
        $("#ulVal").each(function () {
            var options = [];
            $("#ulVal").find("checkbox").each(function () {
                options.push({ value: $(this).val(), text: $(this).text() });
            });
            $("#ulVal").data("checkbox", options);
            $("searchText").bind("change keyup", function () {
                var options = $("#ul").empty().data("checkbox");
                var search = $.trim($("checkbox").val());
                var regex = new RegExp(search, "gi");
                $.each(options, function (i) {
                    var option = options[i];
                    if (option.text.match(regex) !== null) {
                        $("#ulVal").append($('<option>').text(option.text).val(option.value));
                    }
                });
            });
        });
    });
});
dfsq

这是您的代码的修改和简化版本,似乎可以满足您的要求:

$("document").ready(function () {

    var $ulVal = $("#ulVal"),
        $li = $ulVal.children(),
        $checks = $ulVal.find(':checkbox');

    $("#searchText").on("keyup", function () {

        var regex = new RegExp(this.value, "gi");

        $li.hide();
        $checks.filter(function() {
            return regex.test(this.value);
        }).parent().show();
    });
});

演示:http//jsfiddle.net/x01fxx1y/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有列过滤器的jQuery数据表中的全选复选框

来自分类Dev

jQuery在div中获取所有复选框和文本输入

来自分类Dev

如何使用jQuery在nopcommerce中清除和设置文本框,复选框和下拉列表

来自分类Dev

如何使用jQuery向ul添加和删除复选框的值

来自分类Dev

在jQuery中删除选中的复选框

来自分类Dev

div中的jQuery复选框

来自分类Dev

jQuery的多个灵活复选框选中检查并显示文本框

来自分类Dev

使用复选框列表中的jQuery追加文本

来自分类Dev

jQuery过滤多个复选框

来自分类Dev

jQuery复选框(在ul> li下)检查事件

来自分类Dev

jQuery中的数组复选框验证

来自分类Dev

jQuery-选中复选框时获取文本框的上一个值

来自分类Dev

复选框中的JQuery / JavaScript更改

来自分类Dev

更改jQuery中的复选框不适用于文本!主干.js中的模板

来自分类Dev

如何在jQuery中更改键盘上的文本框值?

来自分类Dev

jQuery多个复选框过滤

来自分类Dev

jQuery选中复选框同级文本

来自分类Dev

jQuery DataTables:多个复选框过滤

来自分类Dev

jQuery从选定的输入复选框创建UL

来自分类Dev

jQuery复选框过滤-修复

来自分类Dev

复选框以在jQuery中过滤结果

来自分类Dev

jQuery复选框和文本框验证

来自分类Dev

选中复选框时,文本框值上的jQuery函数更改

来自分类Dev

jQuery总和使用复选框值和文本框值

来自分类Dev

在jQuery Mobile中对齐复选框和文本输入的问题

来自分类Dev

jQuery表-如何根据选中的复选框在单元格中写入文本

来自分类Dev

遍历所有选中的复选框并获取jquery中输入框的值

来自分类Dev

如何使用jQuery显示复选框旁边的复选框文本

来自分类Dev

如果文本包含在ul中,请选中此复选框

Related 相关文章

热门标签

归档