基于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 相关文章推荐
比较简单的一个符合web标准的JS调用flash方法
Nov 29 Javascript
基于JavaScript 下namespace 功能的简单分析
Jul 05 Javascript
JS控制表格实现一条光线流动分割行的方法
Mar 09 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
Aug 05 Javascript
jquery密码强度校验
Dec 02 Javascript
Node.js文件操作方法汇总
Mar 22 Javascript
基于React.js实现原生js拖拽效果引发的思考
Mar 30 Javascript
浅谈angularjs module返回对象的坑(推荐)
Oct 21 Javascript
前端JS面试中常见的算法问题总结
Dec 23 Javascript
jQuery实现简易的输入框字数计数功能示例
Jan 16 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
vue使用codemirror的两种用法
Aug 27 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 SQL防注入代码集合
2008/04/25 PHP
php提交表单时判断 if($_POST[submit])与 if(isset($_POST[submit])) 的区别
2011/02/08 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
浅析PHP中Collection 类的设计
2013/06/21 PHP
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
JS常用字符串处理方法应用总结
2014/05/22 Javascript
JavaScript输出当前时间Unix时间戳的方法
2015/04/06 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
JS之获取样式的简单实现方法(推荐)
2016/09/13 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
js生成随机颜色方法代码分享(三种)
2016/12/29 Javascript
react中实现搜索结果中关键词高亮显示
2018/07/31 Javascript
Js生成随机数/随机字符串的方法小结【5种方法】
2020/05/27 Javascript
webpack 如何同时输出压缩和未压缩的文件的实现步骤
2020/06/05 Javascript
JavaScript实现图片放大预览效果
2020/11/02 Javascript
超详细小程序定位地图模块全系列开发教学
2020/11/24 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
Python 操作文件的基本方法总结
2017/08/10 Python
解决python3捕获cx_oracle抛出的异常错误问题
2018/10/18 Python
python批量解压zip文件的方法
2019/08/20 Python
Pandas 缺失数据处理的实现
2019/11/04 Python
Python中包的用法及安装
2020/02/11 Python
基于python检查SSL证书到期情况代码实例
2020/04/04 Python
Pedro官网:新加坡时尚品牌
2019/08/27 全球购物
2014年敬老院工作总结
2014/12/08 职场文书
学生个人总结范文
2015/02/15 职场文书
搞笑老公保证书
2015/02/26 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
2015年女工委工作总结
2015/07/27 职场文书
中秋节祝酒词
2015/08/12 职场文书
2016年小学生寒假家长评语
2015/10/10 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js