如何隐藏/显示元素在引导网格和有位置更新
How to hide/show elements in Bootstrap grid and have the position update
我有以下代码:
HTML<div class="container">
<div class="form-group has-success has-feedback" style="width:250px">
<label class="control-label sr-only" for="SearchTB">Hidden Label</label>
<input type="text" ID="SearchTB" placeholder="Search" onkeyup="FilterTextBox();" autofocus="true" class="form-control" /> <span class="glyphicon glyphicon-search form-control-feedback"></span>
</div>
<div class="row">
<div class="col-md-4">
<h2>Project LRE</h2>
<p>Latest Revised Estimated for Projects, used by Finance.</p>
<p><a class="btn btn-default" href="/ProjectLRE" role="button">View Site »</a>
</p>
</div>
<div class="col-md-4">
<h2>TERMUS</h2>
<p>TERMUS online appraisal system.</p>
<p><a class="btn btn-default" href="/TERMUS" role="button">View Site »</a>
</p>
</div>
<div class="col-md-4">
<h2>Call Logs</h2>
<p>Online system for reporting calls to comply with FOCI rules.</p>
<p><a class="btn btn-default" href="/CallLogs" role="button">View Site »</a>
</p>
</div>
</div>
<div class="row">
<div class="col-md-4">
<h2>Call Logs (Mobile)</h2>
<p>Mobile optimized site for reporting calls to comply with FOCI rules.</p>
<p><a class="btn btn-default" href="/CallLogsMobile" role="button">View Site »</a>
</p>
</div>
<div class="col-md-4">
<h2>Visit Requests & Contact Reports</h2>
<p>Managed visit requests and contact reports to comply with FOCI rules.</p>
<p><a class="btn btn-default" href="/VisitRequests" role="button">View Site »</a>
</p>
</div>
<div class="col-md-4">
<h2>Quick Reports Scheduler</h2>
<p>Schedule Quick Reports from IFS to be delivered to automatically delivered to you on a schedule.</p>
<p><a class="btn btn-default" href="/QuickReports" role="button">View Site »</a>
</p>
</div>
</div>
</div>
JavaScript function FilterResults(filtertext) {
$(".col-md-4").each(function (index, element) {
if ($(element).text().toUpperCase().indexOf(filtertext.toUpperCase()) > -1) {
$(element).show();
} else {
$(element).hide();
}
});
}
function FilterTextBox() {
FilterResults($("#SearchTB").val());
}
目标是该文本框将根据输入文本显示/隐藏元素。这是有效的,但是由于我用Bootstrap定义行的方式,元素仍然绑定到它们被定义的行,而不是动态地重新排序。我还在学习Bootstrap,不知道如何得到它们,以便搜索结果出现在第一个可用的"槽"。我该怎么做呢?
小提琴在这里。搜索call
,我想你会明白我的意思。
我认为可以直接删除新行的声明。
删除第二个<div class="row">
,使超过3个元素在您的网格行。新的结构应该是这样的:
<div class="row">
<div class="col-md-4">...</div>
<div class="col-md-4">...</div>
<div class="col-md-4">...</div>
<div class="col-md-4">...</div>
<div class="col-md-4">...</div>
<div class="col-md-4">...</div>
</div>
更新小提琴:http://jsfiddle.net/WekyP/
为什么使用列?把你的结果放在一个无序的列表和浮动所有的列表元素,并固定他们的宽度w/css.
<div class="row">
<ul>
<li><div>fancy_result1</div></li>
<li><div>fancy_result2</div></li>
<li><div>fancy_result3</div></li>
<li><div>fancy_result4</div></li>
<li><div>fancy_result5</div></li>
</ul>
</div>
你得到的是一个结果列表。可能不应该人为地创建行。
脏样例:http://jsfiddle.net/55vZx
单独在引导中,没有办法让col
div以这种方式表现。将row
看作表行(tr
)。该行内的任何东西都将留在该行,不管它之前的行有多少个东西。要实现你想要的,你可以:
A)使用一些JS在每行内重新分发您的cold -md-4div(将您想要显示的前3个复制到第一行,接下来的3个复制到第二行,等等…)
或
B)远离bootstrap并编写一些自定义CSS以消除对行的需求(就像一系列div都向左浮动)更新:事实上:如果你只是删除包含row
div ..它似乎表现得很得体。注意,bootstrap并不是为了在没有行的情况下一直正常工作而编写的,所以在极端情况下可能需要做一些额外的样式。见http://jsfiddle.net/9bHVf/13/
相关文章:
- ExtJS网格在存储更新后未刷新
- 网格中的更新值不会显示在javaspring控制器上
- UI网格AngularJS-如何更新UI网格中的列标题
- 网格分页栏在重新加载时未更新
- 通过 JavaScript 从主网格视图上的功能区按钮更新 CRM 2011 中的字段
- 在 ExtJS 中更新选项卡开关上的网格面板
- 如何使用ui网格更新列值
- ExtJS——更改代理URL然后加载存储不会更新网格
- 如何在THRE.js上更改参数时自动更新网格
- 使用新项目更新KendoUI网格数据源
- 如何为剑道网格创建、更新和删除IList中的数据
- 剑道UI网格更新仅更改了单元格/列
- 使用Ajax进行Kendo网格更新
- 剑道UI网格-更新不持久
- 光滑网格更新不工作
- KendoUI网格更新问题
- 如何在不关闭窗口的情况下进行网格更新
- Telerik MVC UI -网格更新事件
- 道场网格:更新后松散选择
- ExtJS 4网格更新