基于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 中字符串连接的性能的一些问题
May 07 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
Apr 02 Javascript
javascript中的取反再取反~~没有意义
Apr 06 Javascript
javascript如何使用bind指定接收者
May 04 Javascript
jquery if条件语句的写法
May 19 Javascript
jQuery插件pagination实现无刷新分页
May 21 Javascript
详解AngularJS 路由 resolve用法
Apr 24 Javascript
Vue封装Swiper实现图片轮播效果
Feb 06 Javascript
js动态获取时间的方法分析
Aug 02 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
Mar 04 Javascript
js实现页面图片消除效果
Mar 24 Javascript
jQuery HTML css()方法与css类实例详解
May 20 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中的Class的几点个人看法
2006/10/09 PHP
写出高质量的PHP程序
2012/02/04 PHP
php获得用户ip地址的比较不错的方法
2014/02/08 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
Yii实现多按钮保存与提交的方法
2014/12/03 PHP
PHP中防止SQL注入方法详解
2014/12/25 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
php post json参数的传递和接收处理方法
2018/05/31 PHP
Yii框架自定义数据库操作组件示例
2019/11/11 PHP
JQuery中attr方法和removeAttr方法用法实例
2015/05/18 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
Bootstrap入门书籍之(五)导航条、分页导航
2016/02/17 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
2016/03/11 Javascript
Vue.js如何优雅的进行form validation
2017/04/07 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
vue使用 better-scroll的参数和方法详解
2018/01/25 Javascript
Vue2.0结合webuploader实现文件分片上传功能
2018/03/09 Javascript
vue2.0+vue-router构建一个简单的列表页的示例代码
2019/02/13 Javascript
Vue infinite update loop的问题解决
2019/04/23 Javascript
JavaScript常用工具函数大全
2020/05/06 Javascript
用Python脚本来删除指定容量以上的文件的教程
2015/05/04 Python
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
python获取指定字符串中重复模式最高的字符串方法
2018/06/29 Python
Python2包含中文报错的解决方法
2018/07/09 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
解决PyCharm IDE环境下,执行unittest不生成测试报告的问题
2020/09/03 Python
Python调用飞书发送消息的示例
2020/11/10 Python
C语言面试题
2015/10/30 面试题
初中化学教学反思
2014/01/23 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
保证书格式
2015/01/16 职场文书
财务工作失误检讨书
2015/02/19 职场文书
《认识钟表》教学反思
2016/02/16 职场文书