基于jQuery实现咖啡订单管理简单应用


Posted in Javascript onFebruary 10, 2017

这款应用主要实现以下几个功能:

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。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 写类方式之三
Jul 05 Javascript
JavaScript Konami Code 实现代码
Jul 29 Javascript
javascript 操作select下拉列表框的一点小经验
Mar 20 Javascript
JS实现简单路由器功能的方法
May 27 Javascript
Vue.js绑定HTML class数组语法错误的原因分析
Oct 19 Javascript
js实时获取窗口大小变化的实例代码
Nov 18 Javascript
Angular4 中内置指令的基本用法
Jul 31 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
ES6知识点整理之模块化的应用详解
Apr 15 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
May 06 Javascript
详解Vue中CSS样式穿透问题
Sep 12 Javascript
Jquery ajax书写方法代码实例解析
Jun 12 jQuery
基于jQuery实现弹幕APP
Feb 10 #Javascript
BOM之navigator对象和用户代理检测
Feb 10 #Javascript
基于JQuery及AJAX实现名人名言随机生成器
Feb 10 #Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
Feb 10 #Javascript
jQuery基于ajax实现页面加载后检查用户登录状态的方法
Feb 10 #Javascript
javascript自执行函数
Feb 10 #Javascript
完美解决jQuery的hover事件在IE中不停闪动的问题
Feb 10 #Javascript
You might like
PHP制作图型计数器的例子
2006/10/09 PHP
php中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
Redis构建分布式锁
2017/03/28 PHP
json简单介绍
2008/06/10 Javascript
javascript实现促销倒计时+fixed固定在底部
2013/09/18 Javascript
jQuery实现按钮的点击 全选/反选 单选框/复选框 文本框 表单验证
2015/06/25 Javascript
阿里巴巴技术文章分享 Javascript继承机制的实现
2016/01/14 Javascript
几种经典排序算法的JS实现方法
2016/03/25 Javascript
详解JavaScript for循环中发送AJAX请求问题
2020/06/23 Javascript
百度地图API之百度地图退拽标记点获取经纬度的实现代码
2017/01/12 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
微信小程序实现弹出层效果
2020/05/26 Javascript
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
微信小程序getLocation 需要在app.json中声明permission字段
2020/03/03 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
JS实现多功能计算器
2020/10/28 Javascript
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
Python实现数据库并行读取和写入实例
2017/06/09 Python
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
在django-xadmin中APScheduler的启动初始化实例
2019/11/15 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
python pyecharts 实现一个文件绘制多张图
2020/05/13 Python
在python中list作函数形参,防止被实参修改的实现方法
2020/06/05 Python
如何使用Cython对python代码进行加密
2020/07/08 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
美国汽车交易网站:Edmunds
2016/08/17 全球购物
会计与审计毕业生自荐信范文
2013/12/30 职场文书
2014年保管员工作总结
2014/11/18 职场文书
2015年招聘工作总结
2014/12/12 职场文书
英语导游欢迎词
2015/09/30 职场文书
学习新党章心得体会2016
2016/01/15 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
JavaScript实现九宫格拖拽效果
2022/06/28 Javascript