我可以用angularJS/Jquery / Javascript对静态html表进行排序吗?
Can I sort a static html table with angularJS/ Jquery / Javascript?
背景信息是我有一个表,它必须是静态信息而不是javascript。 该表将由不了解HTML或Javascript的人编辑。 因此,每次他们获得新的教职员工时,他们都会跳入并编辑表格的GUI表示形式。 我已经设置了一个代码笔,其中包含编辑后将导出的内容。
下面是用户完成添加人员后将导出的内容的 HTML 标记。
http://codepen.io/ddavisgraphics/pen/VYWmRo
<div class="searchTable">
<label> Search Directory: </lable>
<input id="mysearch" type="search" />
</div>
<select>
<option> History </option>
<option> English </option>
<option> Economics </option>
<option> Computer Science </option>
<option> Business </option>
<option> Foreign Languages </option>
<option> Sociology </option>
<option> Nursing </option>
<option> Criminal Justice </option>
<option> Management </option>
<option> Public Relations </option>
<option> Communications </option>
</select>
<select>
<option> West Viringia University </option>
<option> Fairmont State University </option>
<option> University of Charleston </option>
<option> Glenville State College </option>
<option> Shepherd University </option>
<option> Wheeling Jesuit University </option>
<option> Marshall University </option>
<option> WVU-Parkersburg </option>
<option> Davis & Elkins College </option>
<option> Concord University </option>
<option> Bluefield State College </option>
<option> Salem International University </option>
<option> Concord University </option>
<option> Concord University </option>
<option> Concord University </option>
<option> Concord University </option>
</select>
<table>
<tbody><tr>
<th>Name</th>
<th>Address</th>
<th>Discipline</th>
</tr>
<tr>
<td>Katherine B. Aaslestad</td>
<td>West Virginia University</td>
<td>History</td>
</tr>
<tr>
<td>Sarah J. Adams</td>
<td>University of Charleston</td>
<td>History</td>
</tr>
<tr>
<td>Patrick Albano</td>
<td>Fairmont State University </td>
<td>History</td>
</tr>
<tr>
<td>Timothy C. Alderman</td>
<td>WV State University</td>
<td>English</td>
</tr>
<tr>
<td>Cyrus M. Aleseyed</td>
<td>WV State University</td>
<td>Economics</td>
</tr>
<tr>
<td>Heather R. Allman</td>
<td>Glenville State College </td>
<td>Computer Science </td>
</tr>
<tr>
<td>Mohamed Alshallah</td>
<td>Fairmont State University</td>
<td>Business</td>
</tr>
<tr>
<td>Maria Amores</td>
<td>West Virginia University</td>
<td>Foreign Languages </td>
</tr>
<tr>
<td>Robert M. Anthony</td>
<td>Shepherd University
</td><td>Sociology</td>
</tr>
<tr>
<td>Gary L. Arbogast</td>
<td>Glenville State College</td>
<td>Economics</td>
</tr>
<tr>
<td>James R. Ashton</td>
<td>Wheeling Jesuit University </td>
<td>Foreign Languages </td>
</tr>
<tr>
<td>Debra Baker</td>
<td><span class="caps">WVU</span>-Parkersburg </td>
<td>Business</td>
</tr>
<tr>
<td>J. Robert Baker</td>
<td>Fairmont State University </td>
<td>English</td>
</tr>
<tr>
<td>Debra Barker</td>
<td><span class="caps">WVU</span>-Parkersburg</td>
<td>Nursing</td>
</tr>
<tr>
<td>Dorman C. Batson</td>
<td>Glenville State College </td>
<td>Business</td>
</tr>
<tr>
<td>Amy Otley Beckett</td>
<td>Glenville State College </td>
<td>Criminal Justice </td>
</tr>
<tr>
<td>Marybeth Beller</td>
<td>Marshall University </td>
<td>Political Science </td>
</tr>
<tr>
<td>Helen Benigni</td>
<td>Davis & Elkins College</td>
<td>English</td>
</tr>
<tr>
<td>Roland W. Bergman</td>
<td>Shepherd University </td>
<td>Geography</td>
</tr>
<tr>
<td>Jonathan Berkey</td>
<td>Concord University</td>
<td>History</td>
</tr>
<tr>
<td>Sheli Bernstein-Goff</td>
<td>West Liberty University</td>
<td>Social Work </td>
</tr>
<tr>
<td>Ingrid Bircann-Barkey</td>
<td>Fairmont State University</td>
<td>Spanish</td>
</tr>
<tr>
<td>Michael Blackwell</td>
<td>West Liberty University </td>
<td>Accounting</td>
</tr>
<tr>
<td>Les Boggess</td>
<td>Fairmont State University</td>
<td>Criminal Justice </td>
</tr>
<tr>
<td>Dhruba J. Bora/td>
</td><td>Marshall University </td>
<td>Criminal Justice</td>
</tr>
<tr>
<td>Steve Bourne</td>
<td>Bluefield State College </td>
<td>Management</td>
</tr>
<tr>
<td>Daniel Boyd</td>
<td>WV State University</td>
<td>Communications</td>
</tr>
<tr>
<td>Susan Braidi</td>
<td>West Virginia University</td>
<td>Foreign Languages </td>
</tr>
<tr>
<td>Pam Braden</td>
<td><span class="caps">WVU</span>-Parkersburg </td>
<td>Nursing</td>
</tr>
<tr>
<td>Gonzalo Bravo</td>
<td>West Virginia University</td>
<td>Sport Management </td>
</tr>
<tr>
<td>Robin Broughton</td>
<td>WV State University</td>
<td> </td>
</tr>
<tr>
<td>Stephen W. Brown</td>
<td><span class="caps">WVU</span> Institute of Technology </td>
<td>History</td>
</tr>
<tr>
<td>Rick E. Bruner</td>
<td>Shepherd University</td>
<td>Art</td>
</tr>
<tr>
<td>Maria Cristina Burgueno</td>
<td>Marshall University</td>
<td>Spanish</td>
</tr>
<tr>
<td>Jeffrey Byrd</td>
<td><span class="caps">WVU</span> at Parkersburg</td>
<td>Theatre</td>
</tr>
<tr>
<td>Kevin Cain</td>
<td>Glenville State College</td>
<td>Education</td>
</tr>
<tr>
<td>Richard Cain</td>
<td>Wheeling Jesuit University</td>
<td>Communications</td>
</tr>
<tr>
<td>Steven Carelli</td>
<td>Bethany College </td>
<td>Political Science </td>
</tr>
<tr>
<td>Marvin H. Carr</td>
<td>West Virginia Wesleyan College</td>
<td>History</td>
</tr>
<tr>
<td>Thomas Chadwick</td>
<td>Davis & Elkins College </td>
<td>Political Science</td>
</tr>
<tr>
<td>Cynthia Chalupa</td>
<td>West Virginia University </td>
<td>Foreign Languages </td>
</tr>
<tr>
<td>Gregory Chase</td>
<td>West Liberty University </td>
<td>Economics and Finance</td>
</tr>
<tr>
<td>Angela Cline</td>
<td>Glenville State College</td>
<td>Business Administration </td>
</tr>
<tr>
<td>Darrin Cox</td>
<td>West Liberty University</td>
<td>History</td>
</tr>
<tr>
<td>Brian Crawford</td>
<td>West Liberty University </td>
<td>Geography</td>
</tr>
<tr>
<td>Geri Crawley-Woods</td>
<td>Shepherd University</td>
<td>Social Work </td>
</tr>
<tr>
<td>Stephen Cresswell</td>
<td>West Virginia Wesleyan College </td>
<td>History</td>
</tr>
<tr>
<td>Gordon Crews</td>
<td>Marshall University</td>
<td>Criminal Justice </td>
</tr>
<tr>
<td>Scott Crichlow</td>
<td>West Virginia University </td>
<td>Political Science </td>
</tr>
<tr>
<td>Aaron Crites</td>
<td><span class="caps">WVU</span>-Parkersburg </td>
<td>Political Science, History </td>
</tr>
<tr>
<td>Karen Culcasi</td>
<td>West Virginia University</td>
<td>Geography</td>
</tr>
<tr>
<td>Sandra Czernek</td>
<td>West Liberty University </td>
<td>History</td>
</tr>
<tr>
<td>Momodou N. Darboe</td>
<td>Shepherd University </td>
<td>Sociology</td>
</tr>
<tr>
<td>S. Dianne Davis</td>
<td><span class="caps">WVU</span>-Parkersburg</td>
<td>Business</td>
</tr>
<tr>
<td>Tamra Dearing</td>
<td>Bridgemont Community & Technical College </td>
<td>Business, Computer Science,
Entrepreneurship</td>
</tr>
<tr>
<td>Frank L. DeCaria</td>
<td>WV Northern Community College </td>
<td>Political Science/History </td>
</tr>
<tr>
<td>Dominick A. DeFilippis</td>
<td>Wheeling Jesuit University </td>
<td>Foreign Languages </td>
</tr>
<tr>
<td>Lisa DeFrank-Cole</td>
<td>West Virginia University</td>
<td>Leadership Studies </td>
</tr>
<tr>
<td>Arthur DeMatteo</td>
<td>Glenville State College </td>
<td>History</td>
</tr>
<tr>
<td>Kimberly DeTardo-Bora</td>
<td>Marshall University </td>
<td>Criminology</td>
</tr>
<tr>
<td>Amy DeWitt</td>
<td>Shepherd University </td>
<td>Sociology</td>
</tr>
<tr>
<td>Sandra Dixon</td>
<td>West Virginia University</td>
<td>Foreign Languages</td>
</tr>
<tr>
<td>Christopher L. Dolmetsch</td>
<td>Marshall University</td>
<td>Foreign Languages </td>
</tr>
<tr>
<td>Miriam Roth Douglas</td>
<td>West Liberty University </td>
<td>Education</td>
</tr>
<tr>
<td>Carmen M. Durrani</td>
<td>Concord University</td>
<td>Foreign Languages </td>
</tr>
<tr>
<td>Marie DuToit </td>
<td>West Liberty University </td>
<td>Nursing</td>
</tr>
<tr>
<td>Robert D. Duval</td>
<td>West Virginia University</td>
<td>Political Science </td>
</tr>
<tr>
<td>Martha Eborall</td>
<td>Bluefield State College </td>
<td>Environmental Science/Biology </td>
</tr>
<tr>
<td>Clark Egnor</td>
<td>Marshall University </td>
<td><span class="caps">TESOL</span>; Education Administration </td>
</tr>
<tr>
<td>Nadezhda Esque</td>
<td>Marshall University </td>
<td><span class="caps">EFL</span></td>
</tr>
<tr>
<td>Xiaoli Etienne</td>
<td>West Virginia University </td>
<td>Ag and Resource Economics</td>
</tr>
<tr>
<td>Sonya Evanisko</td>
<td>Shepherd University </td>
<td>Art</td>
</tr>
<tr>
<td>Joe Evans</td>
<td>Glenville State College </td>
<td>Science Education/Physical Science </td>
</tr>
<tr>
<td>Sergio Falconi</td>
<td>Fairmont State University </td>
<td>Italian</td>
</tr>
<tr>
<td>Christina Fattore</td>
<td>West Virginia University </td>
<td>International Relations</td>
</tr>
<tr>
<td>Stacy S. Fint</td>
<td>West Virginia University</td>
<td><span class="caps">TESOL</span></td>
</tr>
<tr>
<td>Elizabeth Fones-Wolf</td>
<td>West Virginia University3 </td>
<td>History</td>
</tr>
<tr>
<td>Trevellya (Tee) Ford-Ahmed</td>
<td>WV State University</td>
<td>Communication & Media Studies </td>
</tr>
<tr>
<td>Shirley Fortney</td>
<td>West Virginia Wesleyan College </td>
<td>Education</td>
</tr>
<tr>
<td>Connie Morris Fox</td>
<td>Bridgemont <span class="caps">CTC</span> </td>
<td>Business</td>
</tr>
<tr>
<td>Carl M. Frasure</td>
<td>Fairmont State University </td>
<td>Political Science </td>
</tr>
<tr>
<td>Nicholas Freidin</td>
<td>Marshall University </td>
<td>Anthropology</td>
</tr>
<tr>
<td>James J. Friedberg</td>
<td>West Virginia University </td>
<td>Law</td>
</tr>
<tr>
<td>Mary Frye</td>
<td>WV State University </td>
<td>Foreign Languages </td>
</tr>
<tr>
<td>Aaron Gale</td>
<td>West Virginia University </td>
<td>Religion</td>
</tr>
<tr>
<td>Pablo Garcia</td>
<td>West Virginia University </td>
<td>Spanish</td>
</tr>
<tr>
<td>Richard A. Garnett</td>
<td>Marshall University</td>
<td>Sociology</td>
</tr>
<tr>
<td>Patricia Gaston</td>
<td><span class="caps">WVU</span>-Parkersburg </td>
<td>English</td>
</tr>
<tr>
<td>Kathryn G. Arano Gazal</td>
<td>West Virginia University</td>
<td>Forestry/Ecology </td>
</tr>
<tr>
<td>Rico M. Gazal</td>
<td>Glenville State College</td>
<td>Forestry/Ecology </td>
</tr>
<tr>
<td>Saba Gebrehiwot</td>
<td>Marshall University </td>
<td>German, African Politics </td>
</tr>
<tr>
<td>Hannah Geffert</td>
<td>Shepherd University </td>
<td>History/Political Science</td>
</tr>
<tr>
<td>Michael Gherke</td>
<td>Glenville State College </td>
<td>History</td>
</tr>
<tr>
<td>Megan Gibbons</td>
<td>Glenville State College </td>
<td>Hispanic Language and Literature</td>
</tr>
<tr>
<td>Tuncer Gocmen</td>
<td>Shepherd University</td>
<td>Economics</td>
</tr>
<tr>
<td>Pablo Gonzalez</td>
<td>West Virginia University </td>
<td>Foreign Language </td>
</tr>
<tr>
<td>David B. Gordon</td>
<td>Shepherd University</td>
<td>History</td>
</tr>
<tr>
<td>Lindsey Graham</td>
<td>Davis and Elkins College</td>
<td>Sociology of Religion </td>
</tr>
<tr>
<td>Marshall Griffin</td>
<td><span class="caps">WVU</span>-Parkersburg</td>
<td>Biology</td>
</tr>
<tr>
<td>Kelly Grose</td>
<td>Bridgemont Community College</td>
<td> </td>
</tr>
<tr>
<td>Max Guirguis</td>
<td>Shepherd University </td>
<td>Constitutional Law</td>
</tr>
<tr>
<td>Dan Gurash</td>
<td>Fairmont State University </td>
<td>Sociology/Geography</td>
</tr>
<tr>
<td>Joe D. Hagan</td>
<td>West Virginia University</td>
<td>Political Science </td>
</tr>
<tr>
<td>Joshua Hagen</td>
<td>Marshall University</td>
<td>Geography</td>
</tr>
<tr>
<td>Frew Hailou</td>
<td>West Virginia State University</td>
<td>International Trade & Development </td>
</tr>
<tr>
<td>Homan Hajiran</td>
<td>Wheeling Jesuit University</td>
<td>Economics</td>
</tr>
<tr>
<td>Shannon Halicki</td>
<td>West Liberty University</td>
<td>French, Spanish, Linguistics </td>
</tr>
<tr>
<td>Jonathan Hall</td>
<td>West Virginia University </td>
<td>Ecology</td>
</tr>
<tr>
<td>Deborah Halsey-Hunter</td>
<td>Bluefield State College </td>
<td>Technology/Business Communications</td>
</tr>
<tr>
<td>Jack L. Hammersmith</td>
<td>West Virginia University </td>
<td>History</td>
</tr>
<tr>
<td>Amy A. Garzon Hampton</td>
<td>Shepherd University </td>
<td>Social Work </td>
</tr>
<tr>
<td>Wes Harrison</td>
<td>Ohio Valley College </td>
<td>History/Political Science </td>
</tr>
<tr>
<td>Clifford Hawley</td>
<td>West Virginia University </td>
<td>Economics</td>
</tr>
<tr>
<td>Dwight Heaster</td>
<td>Glenville State College </td>
<td>Business</td>
</tr>
<tr>
<td>Anders Henriksson</td>
<td>Shepherd University </td>
<td>History</td>
</tr>
<tr>
<td>Susan Herrick</td>
<td>West Liberty University </td>
<td>Sociology</td>
</tr>
<tr>
<td>John Hicks</td>
<td>Alderson-Broaddus University </td>
<td>History/Political Science</td>
</tr>
<tr>
<td>Ellessa High</td>
<td>West Virginia University </td>
<td>English</td>
</tr>
<tr>
<td>Geneva K. Hines</td>
<td>Fairmont State University </td>
<td><span class="caps">ESL</span>/Advising</td>
</tr>
<tr>
<td>Erin Hippolyte</td>
<td>Fairmont State University </td>
<td>French</td>
</tr>
<tr>
<td>Dominique Hoche</td>
<td>West Liberty University </td>
<td>English</td>
</tr>
<tr>
<td>Daniel Holbrook</td>
<td>Marshall University </td>
<td>History </td>
</tr>
<tr>
<td>Jeff Holland</td>
<td><span class="caps">WVU</span>-Parkersburg </td>
<td>Business</td>
</tr>
<tr>
<td>Aart Holtslag</td>
<td>Shepherd University </td>
<td>International Relations</td>
</tr>
<tr>
<td>Gerald Hough</td>
<td>New River Community & Technical College </td>
<td>Business</td>
</tr>
<tr>
<td>Sally Howard</td>
<td>Concord University </td>
<td>Political Science </td>
</tr>
<tr>
<td>Chiquita Howard-Bostic</td>
<td>Shepherd University </td>
<td>Sociology</td>
</tr>
<tr>
<td>Debra Hull</td>
<td>Wheeling Jesuit University </td>
<td>Psychology </td>
</tr>
<tr>
<td>Geoff Hunter</td>
<td>Bluefield State College </td>
<td>Management</td>
</tr>
<tr>
<td>Susan Hunter</td>
<td>West Virginia University </td>
<td>Political Science</td>
</tr>
</tbody></table>
我已经查看了一些选项,这些选项只是按升序或降序对表进行排序,但我需要能够按特定选项进行搜索和排序。 如代码笔所示。
我知道在使用 ng-repeat 加载表格时可以使用角度,但不知道如何使用静态表格数据。 因此,使用角度可能不是一个好的解决方案。
我的问题是,什么可能是一个很好的解决方案,它的工作方式与 angular 隐藏和显示不属于搜索条件的div 的方式相同。
如果你想对
整个表使用 angular,那么将从 ajax request 收到的 html 解析为适合角度数据绑定以及许多可用 angular 表指令的对象数组是相当简单的
var cellProperties = ['name', 'address', 'discipline']
$http.get('table.html').success(function(data) {
/* using jQuery for quick demo, easy enough to convert if needed*/
var $tableRows = $(data).find('tr');
$scope.tableData = $tableRows.map(function(row) {
var row = {};
$(this).children().each(function(cellIndex) {
row[cellProperties[cellIndex]] = $(this).text()
});
return row
}).get();
});
// returns
[{
"name": "Katherine B. Aaslestad",
"address": "West Virginia University",
"discipline": "History"
},
....]
我没有时间解析标题行,但很容易调整它来做到这一点。
在大多数使用 dom 解析器库的服务器语言中,这也相当简单。
演示
这是非常糟糕的做法,让人们编辑数据的 html 表。我会制作一个任何人都可以轻松阅读的数组,以便他们可以编辑它:
var categoryData = [
"History",
"English",
"Economics",
"Computer Science"
// and so on...
];
var universitiesData = [
"West Virginia University",
"Fairmont State University",
"University of Charleston"
// and so on...
]
然后,您可以将其附加到$scope.categoriesData
中并$scope.universitiesData
并使用ng-repeat
对其进行排序和过滤等。
相关文章:
- 使用html和Javascript进行客户端排序
- 使用Handontable在同一列中用纯文本和html对问题进行排序
- 如何移动/重新排序html表行
- 使用javascript/JQM对JSON对象进行排序并附加到html中
- 如何在javascript和/或jquery中对具有多列的HTML表进行排序
- 复杂的排序html表
- 排序html表列客户端没有第三方以外的jquery
- 如何排序html表的月份名称与年
- 排序html表根据列表的复选框在表列
- 用小数正确排序HTML下拉菜单
- 如何排序html表后,改变它与javascript函数
- 用行分类动态排序HTML表
- 排序HTML "LI"按重复次数和字母顺序排列
- 使用javascript或jquery排序html中的列
- 按降序排序HTML表
- 可选择jqueryui重新排序html标记内容
- jQuery - 动态排序 html 表行,不使用 ui-sortable
- 这是用jQuery重新排序HTML的有效方法吗?
- 重新排序html表行
- 排序HTML表,通过JQuery添加