如何根据文本框值筛选列表框的内容
how to filter the contents of a listbox based on a text box value
我有一个HTML表单,其中包含以下元素
1)一个列表框(包含一个文件名列表)
s1.txt2013
s2.txt2013
s3.txt2012
s4.txt2012
2)文本框(用户输入模式,例如2013)
3)按钮
默认列表框中包含上述4个文件名。
当用户在文本框中输入一个文本(例如在文本框中输入2013)并按下按钮时,则根据文本框
中提到的文本过滤列表框内容所以在这种情况下,点击按钮后,列表框应该只包含两个值(即只出现2013的值)。
s1.txt2013
s2.txt2013
我怎么能做到这一点。我是这样做的……我正在使用一个javascript函数,它将在javascript数组中获取列表框的所有选项值。现在我不能在数组中搜索2013,也不能用在in中包含2013的值填充相同的列表框。
谁能告诉我怎么做?
也许你需要两个列表框(选择标签),其中一个隐藏为主数据源,其中一个对用户可见,你可以使用以下代码并添加onclick="buttonClicked()"
到你的按钮属性。
function buttonClicked () {
var textbox = document.getElementById('YOUR TEXTBOX ID'),
listbox = document.getElementById('YOUR SELECT ID'),
mainListbox = document.getElementById('YOUR MAIN SELECT ID');
listbox.innerHTML = '';
for (var childIndex = 0; childIndex < mainListbox.children.length; childIndex++) {
var child = mainListbox.children[childIndex];
if (child.innerHTML.search(textbox.value) != -1) {
option = document.createElement('option');
option.innerHTML = child.innerHTML;
listbox.appendChild(option);
}
}
};
你试过使用。test吗?对我来说,这将是一个很好的方法。
http://www.w3schools.com/jsref/jsref_regexp_test.asp<script>
var str="Hello world!";
//look for "Hello"
var patt=/Hello/g;
var result=patt.test(str);
document.write("Returned value: " + result);
//look for "W3Schools"
patt=/W3Schools/g;
result=patt.test(str);
document.write("<br>Returned value: " + result);
</script>
相关文章:
- 使用下拉列表筛选列表(ul>li)
- 需要Jquery列表筛选帮助
- React中的筛选列表
- 在本地存储中选中复选框,但在加载时也要筛选列表
- 根据文本框中键入的文本筛选单选按钮列表
- 使用 JQuery 复选框筛选项目列表
- 无法使用Angular.js从列表中正确筛选数据
- 控制器中的筛选列表没有'不起作用
- 我们可以将控制器中的JSON数据(MM/DD/YYYY格式)与今天的's日期,并在数组中显示筛选列表
- 如何使用搜索筛选器初始化列表视图
- 如何根据其他下拉列表中的选择筛选下拉结果
- 在文本框中键入字母的筛选器单选按钮列表
- 如何从交叉筛选器实例中获取维度列表
- 使用日期将所有下拉列表筛选为下拉列表
- 使用日期将下拉列表筛选为下拉列表
- 将特殊字符折叠添加到列表筛选器
- 使用所需键值的列表筛选对象数组
- 基于第一选择列表筛选第二选择列表
- 用这种方式创建列表筛选器方法不好吗?
- JQuery列表筛选器无法使用错误的字符