基于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 13 Javascript
jquery实现奇偶行赋值不同css值
Feb 17 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
May 15 Javascript
javascript折半查找详解
Jan 26 Javascript
常用jQuery代码分享
Jul 14 Javascript
有关文件上传 非ajax提交 得到后台数据问题
Oct 12 Javascript
jQuery实现倒计时(倒计时年月日可自己输入)
Dec 02 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
Feb 14 Javascript
jQuery remove()过滤被删除的元素(推荐)
Jul 18 jQuery
CryptoJS中AES实现前后端通用加解密技术
Dec 18 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
Feb 24 Javascript
vue elementui tree 任意级别拖拽功能代码
Aug 31 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
第十一节 重载 [11]
2006/10/09 PHP
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
深入理解PHP中的Session和Cookie
2013/06/21 PHP
php取得字符串首字母的方法
2015/03/25 PHP
php专用数组排序类ArraySortUtil用法实例
2015/04/03 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
Javascript图像处理—平滑处理实现原理
2012/12/28 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
jQuery遍历json中多个map的方法
2015/02/12 Javascript
javascript使用Promise对象实现异步编程
2016/03/01 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
bootstrap中模态框、模态框的属性实例详解
2017/02/17 Javascript
Electron-vue开发的客户端支付收款工具的实现
2019/05/24 Javascript
js实现视图和数据双向绑定的方法分析
2020/02/05 Javascript
压缩包密码破解示例分享(类似典破解)
2014/01/17 Python
python实现在sqlite动态创建表的方法
2015/05/08 Python
Python模拟三级菜单效果
2017/09/11 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
python使用turtle库绘制树
2018/06/25 Python
Python3中lambda表达式与函数式编程讲解
2019/01/14 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
python从PDF中提取数据的示例
2020/10/30 Python
印度尼西亚最大和最全面的网络商城:Blibli.com
2017/10/04 全球购物
蔻驰西班牙官网:COACH西班牙
2019/01/16 全球购物
台湾家适得:Homeget
2019/02/11 全球购物
Timberland澳大利亚官网:全球领先的户外品牌
2019/12/10 全球购物
电大会计学自我鉴定
2014/02/06 职场文书
社会实践活动总结报告
2014/04/29 职场文书
支部书记四风对照材料
2014/08/28 职场文书
校园广播稿100字
2014/10/06 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书