基于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 CSS修改学习第二章 样式
Feb 19 Javascript
原生js实现半透明遮罩层效果具体代码
Jun 06 Javascript
jquery 字符串切割函数substring的用法说明
Feb 11 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
Sep 07 Javascript
node.js微信公众平台开发教程
Mar 04 Javascript
JavaScript实现按键精灵的原理分析
Feb 21 Javascript
React学习笔记之条件渲染(一)
Jul 02 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
Feb 23 Javascript
基于Vue中点击组件外关闭组件的实现方法
Mar 06 Javascript
vue中倒计时组件的实例代码
Jul 06 Javascript
vue实现未登录跳转到登录页面的方法
Jul 17 Javascript
JavaScript JMap类定义与使用方法示例
Jan 22 Javascript
基于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
解析如何修改phpmyadmin中的默认登陆超时时间
2013/06/25 PHP
Laravel框架路由和控制器的绑定操作方法
2018/06/12 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
Javascript 原型和继承(Prototypes and Inheritance)
2009/04/01 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
jquery Tab效果和动态加载的简单实例
2013/12/11 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
JavaScript实现鼠标滑过处生成气泡的方法
2015/05/16 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
js面向对象之常见创建对象的几种方式(工厂模式、构造函数模式、原型模式)
2015/11/09 Javascript
jQuery选择器及jquery案例详解(必看)
2016/05/20 Javascript
Google 地图类型详解及示例代码
2016/08/06 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
JavaScript 值类型和引用类型的初次研究(推荐)
2017/07/19 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
[44:47]Ti4 循环赛第三日 iG vs NaVi
2014/07/12 DOTA
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
Python实现爬虫爬取NBA数据功能示例
2018/05/28 Python
vscode 配置 python3开发环境的方法
2019/09/19 Python
python能做什么 python的含义
2019/10/12 Python
python return逻辑判断表达式实现解析
2019/12/02 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
世界上最大的糖果店:Dylan’s Candy Bar
2017/11/07 全球购物
First Aid Beauty官网:FAB急救面霜
2018/05/24 全球购物
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
婚前协议书范本
2014/04/15 职场文书
教学督导岗位职责
2015/04/10 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
太行山上观后感
2015/06/05 职场文书
MySQL 时间类型的选择
2021/06/05 MySQL