javascript获取列表项

时间:2017-04-19 03:46:18

标签: javascript jquery

我有一个无序列表,其中包含以编程方式在web2py中生成的项目...

我在HTML中显示它们如下所示...我想要一个允许用户输入字符串的文本框。如果<li>值匹配与否,此字符串应“切换”<input type="text" id="userTextSearch" onkeyup="listSearch(this.value)"></input> <ul id="fileResultsID"> {{for item in mylist:}} <li> <input type="checkbox" name="FileListItem" id="value"> {{=item}}</label> </li> {{pass}} </ul> function listSearch(textValue) { var fileGroup = document.getElementById('fileResultsID'); var items = fileGroup.getElementsByTagName('li'); var chkBx; for(var i = 0, n = items.length; i < n; i++) { chkBx = items[i].getElementsByTagName('input'); alert(chkBx.InnerHtml); //if(!items[i].value.startswith(textValue)) //{ // items[i].toggle(); //} } } 值的可见性。

<li>

到目前为止,当我输入时,没有任何可见的信息......

问:如何在用户输入时让某些ImageDataGenerator行项目消失?

如果文本框也是空的,我将需要他们全部回来

1 个答案:

答案 0 :(得分:0)

这对我有用...如果文本框被清除,我还有一个快速循环来重新编写所有列表项。

function listSearch(textValue){
        var fileGroup = document.getElementById('fileResultsID');
        var items = fileGroup.getElementsByTagName('li');
        var chkBx;

        //check to see if user deleted everything first
        if(!textValue)
        {
            for(var i = 0, n = items.length; i < n; i++)
            {
                items[i].style.display = "block";
            }
        }

        for(var i = 0, n = items.length; i < n; i++)
        {
            chkBx = items[i].getElementsByTagName('input');
            var str = chkBx[0].id

            if(!str.toLowerCase().startsWith(textValue.toLowerCase()))
            {
                items[i].style.display = "none";
            }

        }}