为复选框列表 - 动态响应列表创建一个过滤器搜索框
create a filter searchbox to a checkbox list- dynamic response listing
>我需要做一个带有复选框的项目列表的表单,供用户勾选并选择他们的选项。因为列表有数百个项目,所以为了使搜索工作变得容易,我想如果我可以让搜索框像过滤器一样。当用户输入内容时,它将过滤列表以匹配输入的文本。例如,当用户输入"A"时,列表中只会显示带有"A"的项目。用户将重复搜索项目并勾选他们想要的项目上的复选框。然后当搜索框为空时,应显示完整列表。最后,用户点击提交,所有选中的项目都应该发布到下一页。(我希望我的解释足够清楚,可以理解。认为js"onchange"函数可能会解决问题,但是由于我对js的了解有限,我不知道该怎么做。
例如我的代码:
<form name="submit" action="envelope.php" method="POST">
<table width="100%" cellspacing="0" cellpadding="3">
<tr>
<td></td>
<td colspan="2"></td>
<td><input type="text" name="search" onchange="filter()"/></td>
</tr>
<?php
$i=0;
$str = "SELECT * FROM item ";
$query = mysql_query($str) or die(mysql_error());
while($row = mysql_fetch_array($query))
{
$i++; ?>
<tr>
<td style="border-bottom: 1px #cccccc solid" width="10"> <?php echo $i ?>.</td>
<td style="border-bottom: 1px #cccccc solid"><input type="checkbox" name="itm[]" value="<?php echo $row['ID'] ?>"/></td>
<td style="border-bottom: 1px #cccccc solid"><?php echo $row['ID'] ?></td>
<td style="border-bottom: 1px #cccccc solid"><?php echo $row['name'] ?></td>
</tr>
<?php
} ?>
</table>
</div>
<br/>
<input type="submit" name="submit" value="submit"/>
</form>
输入文本字段将是搜索过滤器。如果有人能提供建议,请不胜感激。提前谢谢你!
使用 datatable.it 提供文本框来过滤表中应用于所有列的数据访问以下链接datatables
$("document").ready(function () {
$("[name=search]").on("keyup", function (input) {
$("input[type=checkbox]").each(function (checkbox) {
var regex = new RegExp($.trim($(input.target).val()), "gi");
if($(checkbox.target).html().match(regex) !== null) {
$(checkbox.target).show();
}
else {
$(checkbox.target).hide();
}
});
});
});
解释:
keyup
调用文本框的事件。
在 keyup
上,如果文本框的文本与搜索字符串匹配,则会显示,否则隐藏。
相关文章:
- 从javascript创建一个列表
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 如何在用户返回和上一个按钮时刷新下拉列表
- jQuery-将列表项的一个元素移动到同一项的另一个元素中+对我的列表中的每个项执行此操作
- 如何为下拉列表的每个选项添加一个属性
- 在下拉列表中选择一个选项的值
- 在Twitter BootStrap嵌套下拉列表中托管一个选择列表(IE 9特定)
- 使用jquery从列表项中移除类,并将一个类添加到另一个列表项中
- 我在下拉列表中尝试了下一个和前五年的html代码.接下来的5年我都过得很好.我怎样才能拿到之前的5年
- 我想在我的准备列表项上创建一个按钮
- 如何使用jquery将所选项目从一个下拉组列表(optgroup)移动到另一个下拉列表(optgroup)
- 我创建了一个Javascript待办事项列表,但想知道如何在浏览器刷新后保留这些帖子
- 如何将一个类一个接一个地添加到列表中的每个元素中
- JSON编码一个HTML列表——所有子项都显示在所有父项上
- 什么'是从对象列表中一次编辑一个对象的正确Angular/Firebase方法
- 我需要使用什么语法来向一个对象的成员添加一个临时数组,该成员等同于一个字符串的通用列表
- 如何强制用户从下拉列表和按钮中选择一个值以启用保存按钮
- 在另一个下拉列表中的选择上切换下拉列表中选项的可见性