基于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 相关文章推荐
js获取url中的参数且参数为中文时通过js解码
Mar 19 Javascript
禁用Enter键表单自动提交实现代码
May 22 Javascript
Json实现异步请求提交评论无需跳转其他页面
Oct 11 Javascript
jQuery获取select选中的option的value值实现方法
Aug 29 Javascript
AngularJs Managing Service Dependencies详解
Sep 02 Javascript
Bootstrap选项卡动态切换效果
Nov 28 Javascript
基于jQuery实现一个marquee无缝滚动的插件
Mar 09 Javascript
js实现上传并压缩图片效果
Jan 10 Javascript
Bootstrap table表格初始化表格数据的方法
Jul 25 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
Javascript实现简易天数计算器
May 18 Javascript
Openlayers绘制地图标注
Sep 28 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
用PHP实现递归循环每一个目录
2010/08/08 PHP
php 学习资料零碎东西
2010/12/04 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
2015/03/18 PHP
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
jquery预览图片实现鼠标放上去显示实际大小
2014/01/16 Javascript
JS中判断null、undefined与NaN的方法
2014/03/26 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
基于Jquery easyui 选中特定的tab
2015/11/17 Javascript
javascript实现对表格元素进行排序操作
2015/11/18 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
Jquery循环截取字符串的方法(多出的字符串处理成&quot;...&quot;)
2016/11/28 Javascript
mpvue构建小程序的方法(步骤+地址)
2018/05/22 Javascript
使用node.js实现微信小程序实时聊天功能
2018/08/13 Javascript
vue3.0 CLI - 1 - npm 安装与初始化的入门教程
2018/09/14 Javascript
jQuery each和js forEach用法比较
2019/02/27 jQuery
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
python实现socket端口重定向示例
2014/02/10 Python
Python多线程实例教程
2014/09/06 Python
python记录程序运行时间的三种方法
2017/07/14 Python
Python3简单实例计算同花的概率代码
2017/12/06 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
Python设计模式之简单工厂模式实例详解
2019/01/22 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
Python bisect模块原理及常见实例
2020/06/17 Python
python如何实现图片压缩
2020/09/11 Python
Python 使用office365邮箱的示例
2020/10/29 Python
AmazeUI 模态窗口的实现代码
2020/08/18 HTML / CSS
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
心碎乌托邦的创业计划书范文
2013/12/26 职场文书
优秀交警事迹材料
2014/01/26 职场文书
如何写自我鉴定
2014/03/19 职场文书
学生手册评语
2014/05/05 职场文书
农村党支部书记司法四风问题对照检查材料
2014/09/26 职场文书
SQL Server中交叉联接的用法详解
2021/04/22 SQL Server