这款应用主要实现以下几个功能:1.在表格中输入客户姓名并选择咖啡,点击“Add”能够把
这款应用主要实现以下几个功能:
1.在表格中输入客户姓名并选择咖啡,点击“Add”能够把数据传至table。 2.table的每生成一行新数据,其status列都会出现一个小咖啡图标,表示正在制作中。 3.点击这个小咖啡图标,可以变成一个绿色的勾勾,表示该订单已经完成。 4.点击Export可以把表格数据导出为CSV文件。
HTML:
<div class="container-fluid">
<h1>Coffee Orders</h1>
<hr>
<div class="row">
<!-- order form -->
<div class="col-xs-4 col-sm-4 col-md-4 col-lg-4 order-form">
<form class="form-inline" role="form">
<div class="form-group">
<div class="input-group">
<div class="input-group-addon"><i class="fa fa-user" aria-hidden="true"></i></div>
<input type="text" class="form-control order-name" id="name" required="required" placeholder="Name">
</div>
<select class="selectpicker" id="drink">
<option>Latte</option>
<option>Moccha</option>
<option>Cappuchino</option>
<option>Fat White</option>
</select>
</div>
<button type="button" class="btn btn-primary add-order">Add</button>
<button type="reset" class="btn btn-primary pull-right">Reset</button>
</form>
</div>
<!-- order list -->
<div class="col-xs-8 col-sm-8 col-md-8 col-lg-8 order-list">
<table class="table table-hover">
<thead>
<tr>
<th>Name</th>
<th>Order</th>
<th>Status</th>
</tr>
</thead>
<tbody></tbody>
</table>
<div>
<a class="pull-right export" data-export="export">Export to CSV</a>
</div>
</div>
</div>
<hr>
<div class="time">
Order List of <span class="today"></span>
</div>
</div>
<footer>
Designed By <a href="http://blog.csdn.net/alenhhy" rel="external nofollow" target="_blank">Alen Hu</a>
</footer>
*使用了bootstrap3框架 *选择咖啡的部分,我使用了一款叫bootstrap-select的插件,可以完美兼容bootstrap的UI,但是写CSS的时候要注意一下,得通过浏览器F12查看DOM后,方可根据DOM来写,否则直接写select和option是没用的。
JQuery:
$(document).ready(function() {
var $order = $("tbody");
var $add = $(".add-order");
var $name = $("#name");
var $drink = $("#drink");
//add new data to table
function addToTable() {
if ($name.val()) {
$order.append('<tr><td class="customer-name">' + $name.val() + '</td><td class="customer-order">' + $drink.val() + '</td><td class="customer-status"><i class="fa fa-coffee" aria-hidden="true"></i></td></tr>');
$name.val("");
} else {}
}
$add.on("click", addToTable);
$("form").keypress(function(event) {
if (event.keyCode === 13) {
event.preventDefault();
addToTable();
}
});
//click to tick
$order.delegate('.customer-status > i', 'click',
function() {
$(this).parent().html('<i class="fa fa-check" aria-hidden="true"></i>');
});
//date
var myDate = new Date();
var day = myDate.getDate();
var month = myDate.getMonth() + 1;
var year = myDate.getFullYear();
function plusZero(x) {
if (x < 10) {
x = "0" + x;
} else {
x = x;
}
return x;
}
var today = plusZero(day) + "." + plusZero(month) + "." + year;
$(".today").text(today);
//export table data to CSV
$(".export").click(function() {
$(".table").tableToCSV();
});
});
*导出为CSV的这个功能我使用到了一个叫tabletoCSV的插件,用法和源代码可以点击链接进去看看。但是这款插件功能比较单一,真的就是只能导出CSV,不能选择导出哪部分内容,也无法指定文件名称等等,如果你有什么更好的相关插件,欢迎来分享啦~
这里只是简单的做了一下这款应用的表面效果,没有做数据交换方面的事情。 创建JSON文件,使用AJAX(GET,POST,DELETE,POST...)可以储存相关数据。
DEMO在这里,欢迎FORK。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
jQuery咖啡订单管理 jQuery订单管理